Skip to content

Tauri 2.0 Prereleases

The alpha, beta, and release candidate versions that led up to Tauri 2.0.

Oct 2, 2024
  • Upgraded to tauri-bundler@2.0.1-rc.15
  • Upgraded to tauri-macos-sign@0.1.1-rc.1
Sep 27, 2024
  • 354be36d4 (#11163 by @amrbashir) Changed uri scheme protocol handler to take UriSchemeContext as first argument instead of AppHandle. UriSchemeContext can be used to access an app handle or the webview label that made the request. The following methods are affected:

    • tauri::Builder::register_uri_scheme_protocol
    • tauri::Builder::register_asynchronous_uri_scheme_protocol
    • tauri::plugin::Builder::register_uri_scheme_protocol
    • tauri::plugin::Builder::register_asynchronous_uri_scheme_protocol
  • 06718b456 (#11096 by @thep0y) Add the TAURI_BUNDLER_TOOLS_GITHUB_MIRROR_TEMPLATE environment variable to specify a more accessible mirror template, facilitating companies, organizations, or individuals who cannot access GitHub to download the necessary files through their own mirror servers.
  • a944b9b05 (#11118 by @amrbashir) Add --github-workflows flag for tauri plugin new/init.
  • f57a729cd (#11039 by @amrbashir) Add tauri inspect wix-upgrade-code to print default Upgrade Code for your MSI installer derived from productName.
  • 67b8a9a17 (#10940 by @amrbashir) Generate .sig signature files for installers and bundles when createUpdaterArtifacts is set to v1Compatible
  • Upgraded to tauri-bundler@2.0.1-rc.14
  • Upgraded to tauri-utils@2.0.0-rc.13
  • a944b9b05 (#11118 by @amrbashir) tauri plugin init/new will no longer generate a .github directory with workflows by default, instead use the new --github-workflows flag.
Sep 17, 2024
  • Upgraded to tauri-runtime-wry@2.0.0-rc.14
  • Upgraded to tauri-runtime@2.0.0-rc.13
  • Upgraded to tauri-utils@2.0.0-rc.13
  • Upgraded to tauri-macros@2.0.0-rc.12
  • Upgraded to tauri-build@2.0.0-rc.13
  • 0b4495996 (#11121 by @amrbashir) Simplified emitted tray event JS value and updated TrayIconEvent type definition to match it.
  • 9bb8fc618 (#11030 by @amrbashir) Add --no-example flag for tauri plugin new and tauri plugin init to disable creation of an example project.
  • Upgraded to tauri-utils@2.0.0-rc.12
  • Upgraded to tauri-bundler@2.0.1-rc.13
Sep 15, 2024
  • ad294d274 (#11032 by @amrbashir) Add app > windows > create option to choose whether to create this window at app startup or not.
  • e7fd676c2 (#11025 by @lucasfernog) Inject __INVOKE_KEY__ into custom invoke systems so their implementations can properly construct tauri::webview::InvokeRequest.
  • Upgraded to tauri-utils@2.0.0-rc.12
  • Upgraded to tauri-runtime@2.0.0-rc.12
  • Upgraded to tauri-runtime-wry@2.0.0-rc.13
  • Upgraded to tauri-macros@2.0.0-rc.11
  • Upgraded to tauri-build@2.0.0-rc.12
  • 551e0624a (#11027 by @lucasfernog) Remove the responder part of a custom invoke system now that the responder can be set directly in the tauri::WebviewWindow::on_message function.
  • 5a0e922d4 (#11007 by @lucasfernog) Automatically discover the src-tauri/src/main.rs binary when it is not explicitly defined in the Cargo manifest bin array.
  • Upgraded to tauri-bundler@2.0.1-rc.12
Sep 15, 2024
  • Upgraded to tauri-cli@2.0.0-rc.13
Sep 10, 2024
  • Upgraded to tauri-runtime-wry@2.0.0-rc.12
  • bc4804d48 (#10924 by @madsmtm) Change the pointer type of PlatformWebview's inner, controller, ns_window and view_controller to c_void, to avoid publically depending on objc.
  • 656618225 (#10866 by @thep0y) Add TAURI_BUNDLER_TOOLS_GITHUB_MIRROR environment variable to specify a GitHub mirror to download files and tools used by tauri bundler. This is designed for areas like Mainland China where GitHub access can be unreliable.
  • 35bd9dd3d (#10977 by @amrbashir) Add mainBinaryName config option to set the file name for the main binary.
  • Upgraded to tauri-bundler@2.0.1-rc.11
  • Upgraded to tauri-utils@2.0.0-rc.11
Sep 5, 2024
  • Upgraded to tauri-build@2.0.0-rc.11
  • Upgraded to tauri-utils@2.0.0-rc.11
  • Upgraded to tauri-runtime@2.0.0-rc.11
  • Upgraded to tauri-runtime-wry@2.0.0-rc.11
  • Upgraded to tauri-macros@2.0.0-rc.10
  • a5848af65 (#10944 by @lucasfernog) Synchronize app version (tauri.conf.json > version or Cargo.toml > package > version) with the CFBundleVersion and CFBundleShortVersionString Info.plist values.
  • Upgraded to tauri-utils@2.0.0-rc.10
  • Upgraded to tauri-bundler@2.0.1-rc.10
Sep 4, 2024
  • Upgraded to tauri-utils@2.0.0-rc.10
  • Upgraded to tauri-runtime@2.0.0-rc.10
  • Upgraded to tauri-runtime-wry@2.0.0-rc.10
  • Upgraded to tauri-macros@2.0.0-rc.9
  • Upgraded to tauri-build@2.0.0-rc.10
  • Upgraded to tauri-utils@2.0.0-rc.9
  • Upgraded to tauri-bundler@2.0.1-rc.9
Sep 1, 2024
  • Upgraded to tauri-utils@2.0.0-rc.9
  • Upgraded to tauri-runtime@2.0.0-rc.9
  • Upgraded to tauri-runtime-wry@2.0.0-rc.9
  • Upgraded to tauri-macros@2.0.0-rc.8
  • Upgraded to tauri-build@2.0.0-rc.9
  • d9c8d3cc8 (#10902 by @Legend-Master) Update infer to 0.16, tray icon to 0.17, urlpattern to 0.3, image to 0.25
  • faa259bac (#10907 by @lucasfernog) The Assets::iter function now must return a iterator with Item = (Cow<'_, str>, Cow<'_, [u8]>) to be more flexible on contexts where the assets are not 'static.
  • b42683592 (#10847 by @lucasfernog) Fixes ios build --target [aarch64-sim | x86_64] failing to generate the app bundle for the iOS simulator.
  • Upgraded to tauri-utils@2.0.0-rc.8
  • Upgraded to tauri-bundler@2.0.1-rc.8
Aug 31, 2024
  • Upgraded to tauri-runtime-wry@2.0.0-rc.8
  • Upgraded to tauri-utils@2.0.0-rc.8
  • Upgraded to tauri-runtime@2.0.0-rc.8
  • Upgraded to tauri-macros@2.0.0-rc.7
  • Upgraded to tauri-build@2.0.0-rc.8
  • 5048a7293 (#10840 by @lucasfernog) The linux-ipc-protocol feature is now always enabled, so the Cargo feature flag was removed. This increases the minimum webkit2gtk version to a release that does not affect the minimum target Linux distros for Tauri apps.
  • Upgraded to tauri-bundler@2.0.1-rc.7
Aug 28, 2024
  • 91e9e784a (#10729 by @amrbashir) Add plugins information in tauri info output
  • 09e9dc1aa (#10752 by @lucasfernog) Allow Xcode to manage iOS code sign and provisioning profiles by default. On CI, the APPLE_API_KEY, APPLE_API_ISSUER and APPLE_API_KEY_PATH environment variables must be provided for authentication.
  • fb6bf3142 (#10763 by @rdlabo) Update plugin template Android code to match documentation on Android package ID usage.
  • Upgraded to tauri-utils@2.0.0-rc.7
  • Upgraded to tauri-bundler@2.0.1-rc.6
  • 073bb4f45 (#10772 by @lucasfernog) Removed the deprecated webview_fixed_runtime_path config option, use the webview_install_mode instead.
Aug 22, 2024
  • f86a8146a (#10761 by @rdlabo) Added getArgs and getRawArgs methods to the plugin Invoke class (Kotlin and Swift), which lets you parse the arguments manually instead of through the parseArgs method.
  • Upgraded to tauri-utils@2.0.0-rc.7
  • Upgraded to tauri-build@2.0.0-rc.7
  • Upgraded to tauri-runtime@2.0.0-rc.7
  • Upgraded to tauri-runtime-wry@2.0.0-rc.7
  • Upgraded to tauri-macros@2.0.0-rc.6
  • da8c9a7d3 (#10669 by @lucasfernog) Modify both ExportOptions.plist and project.pbxproj to reflect changes for the IOS_CERTIFICATE, IOS_CERTIFICATE_PASSWORD and IOS_MOBILE_PROVISION environment variables.
  • Upgraded to tauri-utils@2.0.0-rc.6
  • Upgraded to tauri-bundler@2.0.1-rc.5
  • da8c9a7d3 (#10669 by @lucasfernog) The IOS_CERTIFICATE, IOS_CERTIFICATE_PASSWORD and IOS_MOBILE_PROVISION environment variables are now read by the ios build command instead of ios init.
Aug 20, 2024
  • Upgraded to tauri-utils@2.0.0-rc.6
  • Upgraded to tauri-build@2.0.0-rc.6
  • Upgraded to tauri-runtime-wry@2.0.0-rc.6
  • Upgraded to tauri-runtime@2.0.0-rc.6
  • Upgraded to tauri-macros@2.0.0-rc.5
  • 0b4495996 (#11121 by @amrbashir) Simplified emitted tray event JS value and updated TrayIconEvent type definition to match it.
  • 1a60822a4 (#10699 by @lucasfernog) Changed the add command to use a version requirement that matches the CLI's stable and prerelease numbers.
  • Upgraded to tauri-utils@2.0.0-rc.5
  • Upgraded to tauri-bundler@2.0.1-rc.4
Aug 20, 2024
  • Upgraded to tauri-utils@2.0.0-rc.5
  • Upgraded to tauri-runtime@2.0.0-rc.5
  • Upgraded to tauri-runtime-wry@2.0.0-rc.5
  • Upgraded to tauri-macros@2.0.0-rc.5
  • Upgraded to tauri-build@2.0.0-rc.5
  • 8d148a9e2 (#10634 by @anatawa12) Custom sign command with object notation for whitespaces in the command path and arguments.
  • Upgraded to tauri-utils@2.0.0-rc.4
  • Upgraded to tauri-bundler@2.0.1-rc.3
Aug 17, 2024
  • 5c335ae9a (#10648 by @Flakebi) Prevent build script from rerunning unnecessarily by only writing files when the content changes.
  • Upgraded to tauri-build@2.0.0-rc.4
  • Upgraded to tauri-utils@2.0.0-rc.4
  • Upgraded to tauri-runtime@2.0.0-rc.4
  • Upgraded to tauri-runtime-wry@2.0.0-rc.4
  • Upgraded to tauri-macros@2.0.0-rc.4
  • f81929e25 (#10799 by @lucasfernog) Added PermissionState, checkPermissions and requestPermissions base APIs to the core module, designed for plugin authors to extend.
  • bba1a4419 (#10457 by @mmvanheusden) Added --no-fmt option to the add command to skip formatting the code after applying changes.
  • 71d00646a (#10504 by @fu050409) Improve the init command behavior by detecting the project NPM package manager.
  • 8deb1966a (#10652 by @lucasfernog) Infer macOS codesign identity from the APPLE_CERTIFICATE environment variable when provided, meaning the identity no longer needs to be provided when signing on CI using that option. If the imported certificate name does not match a provided signingIdentity configuration, an error is returned.
  • f35bcda28 (#10598 by @lucasfernog) permission add and add commands now check if the plugin is known and if it is either desktop or mobile only we add the permission to a target-specific capability.
  • Upgraded to tauri-utils@2.0.0-rc.3
  • Upgraded to tauri-bundler@2.0.1-rc.2
  • Upgraded to tauri-macos-sign@0.1.1-rc.0
Aug 9, 2024
  • b1d9ffa1a (#10582 by @lucasfernog) Fix IPC fallback (postMessage implementation when custom protocol fails) hanging when sending responses.
  • Upgraded to tauri-build@2.0.0-rc.3
  • Upgraded to tauri-utils@2.0.0-rc.3
  • Upgraded to tauri-runtime@2.0.0-rc.3
  • Upgraded to tauri-runtime-wry@2.0.0-rc.3
  • Upgraded to tauri-macros@2.0.0-rc.3
  • d39c392b7 (#10655 by @lucasfernog) Update tao to 0.29 and wry to 0.42.
  • d0510f52e (#10641 by @lucasfernog) Added a dedicated type for IPC response body InvokeResponseBody for performance reasons. This is only a breaking change if you are directly using types from tauri::ipc.
  • 5f56cb0a8 (#10507 by @FabianLars) Update gradle to 8.9 and the gradle android plugin to 8.5.1 in the android templates (requires latest Android Studio). This should add support for Java 21 but Java 17 keeps being the recommended version.
  • f5dfc0280 (#10533 by @FabianLars) Fixed an issue causing tauri ios init to fail if iOS.minimumSystemVersion was not configured explicitly.
  • Upgraded to tauri-utils@2.0.0-rc.2
  • Upgraded to tauri-bundler@2.0.1-rc.1
Aug 7, 2024
  • Upgraded to tauri-utils@2.0.0-rc.2
  • Upgraded to tauri-runtime@2.0.0-rc.2
  • Upgraded to tauri-runtime-wry@2.0.0-rc.2
  • Upgraded to tauri-macros@2.0.0-rc.2
  • Upgraded to tauri-build@2.0.0-rc.2
  • a3cd9779a (#10480 by @lucasfernog) Removed the [android|ios] open command. It is recommended to use [android|ios] dev --open or [android|ios] build --open instead.
  • Upgraded to tauri-bundler@2.0.1-rc.0
  • Upgraded to tauri-utils@2.0.0-rc.1
Aug 3, 2024
  • Upgraded to tauri-utils@2.0.0-rc.1
  • Upgraded to tauri-runtime@2.0.0-rc.1
  • Upgraded to tauri-runtime-wry@2.0.0-rc.1
  • Upgraded to tauri-macros@2.0.0-rc.1
  • Upgraded to tauri-build@2.0.0-rc.1
  • b6dca99ff (#10630 by @lucasfernog) Changed WebviewWindow.getAll, WebviewWindow.getByLabel, getAllWebviewWindows, Window.getAll, Window.getByLabel, getAllWindows, Webview.getAll, Webview.getByLabel, getAllWebviews to be async so their return value are synchronized with the state from the Rust side, meaning new and destroyed windows are reflected.
Aug 2, 2024
  • 6755af230(#10435) Fix Specta remote implementation target for Channel.
  • 24445d71d(#10432) Fixes asset resolving when not using the compression feature.
  • 1e0793b68 (#10357) Enhance AssetResolver::get in development mode by reading distDir directly as a fallback to the embedded assets.
  • 7aeac39e7 (#10397) Make the set of gtk application id optional, to allow more then one instance of the app running at the same time.
  • cf994a6bb (#10405) Add tauri::plugin::Builder::try_build to allow plugins to check if their TauriPlugin initialization is valid.
  • 426d14bb4 (#10423) Explicitly check that the main frame's origin is the sender of Isolation Payloads
  • 289ae5555 (#10386) Re-enable TLS checks that were previously disabled to support an insecure HTTPS custom protocol on Android which is no longer used.
  • Upgraded to tauri-utils@2.0.0-rc.0
  • Upgraded to tauri-macros@2.0.0-rc.0
  • Upgraded to tauri-build@2.0.0-rc.0
  • Upgraded to tauri-runtime@2.0.0-rc.0
  • Upgraded to tauri-runtime-wry@2.0.0-rc.0
  • 758d28c8a (#10390) Core plugin permissions are now prefixed with core:, the core:default permission set can now be used and the core plugin name is reserved. The tauri migrate tool will automate the migration process, which involves prefixing all app, event, image, menu, path, resources, tray, webview and window permissions with core:.
  • Promoted to RC!
  • d5511c311 (#10395) Added migration from 2.0.0-beta to 2.0.0-rc.
  • a5bfbaa62(#9962) Added bundle > iOS > frameworks configuration to define a list of frameworks that are linked to the Xcode project when it is generated.
  • a0841d509 (#10421) Changes the default behavior of the dev command to only expose to localhost (127.0.0.1) instead of the default system interface.
  • 289ae5555 (#10386) Re-enable TLS checks that were previously disabled to support an insecure HTTPS custom protocol on Android which is no longer used.
  • Upgraded to tauri-utils@2.0.0-rc.0
  • Upgraded to tauri-bundler@2.0.0-rc.0
  • 758d28c8a (#10390) Core plugin permissions are now prefixed with core:, the core:default permission set can now be used and the core plugin name is reserved. The tauri migrate tool will automate the migration process, which involves prefixing all app, event, image, menu, path, resources, tray, webview and window permissions with core:.
  • 7ba67b4ac(#10437) ios dev and android dev now uses localhost for the development server unless running on an iOS device, which still requires connecting to the public network address. To conditionally check this on your frontend framework's configuration you can check for the existence of the TAURI_DEV_HOST environment variable instead of checking if the target is iOS or Android (previous recommendation).
Jul 29, 2024
  • da25f7353 (#10242 by @amrbashir) Add APIs to enable setting window size constraints separately:

    • Added WindowBuilder::inner_size_constraints and WebviewWindowBuilder::inner_size_constraints which can be used for setting granular constraints.
    • Added WindowSizeConstraints struct
    • Added Window::set_size_constraints and WebviewWindow::set_size_constraints
  • e1776946a (#10362 by @Brendonovich) Use specta rc.15's derive` feature which fixes build issues in docs.rs.
  • da25f7353 (#10242 by @amrbashir) Apply minWidth, minHieght, maxWidth and maxHeight constraints separately, which fixes a long standing bug where these constraints were never applied unless width and height were constrained together.
  • 9546548ec (#10297 by @pewsheen) On macOS, set default titlebar style to Visible to prevent webview move out of the view.
  • Upgraded to tauri-runtime-wry@2.0.0-beta.21
  • Upgraded to tauri-runtime@2.0.0-beta.21
Jul 12, 2024
  • 4c239729c (#10167 by @amrbashir) Fix deserialization of raw invoke requests when using isolation pattern.
  • 55733aba9 (#10176 by @lucasfernog) Move PluginApi::register_ios_plugin behind the wry Cargo feature as Webview::with_webview is only available when that feature is enabled.
  • Upgraded to tauri-macros@2.0.0-beta.19
  • Upgraded to tauri-build@2.0.0-beta.19
  • Upgraded to tauri-runtime-wry@2.0.0-beta.20
  • Upgraded to tauri-utils@2.0.0-beta.19
  • Upgraded to tauri-runtime@2.0.0-beta.20
  • ba9590aa9 (#9640 by @amrbashir) Added Emitter and Listener traits that defines what an emitter or a listener can do, this however comes with a few breaking changes:

    • Removed Manager::listen_any, use Listener::listen_any instead.
    • Removed Manager::once_any, use Listener::once_any instead.
    • Removed Manager::unlisten, use Listener::unlisten instead.
    • Removed Manager::emit, use Emitter::emit instead.
    • Removed Manager::emit_to, use Emitter::emit_to instead.
    • Removed Manager::emit_filter, use Emitter::emit_filter instead.
    • Removed App/AppHandle::listen, WebviewWindow::listen, Window::listen and Webview::listen, use Listener::listen instead.
    • Removed App/AppHandle::once, WebviewWindow::once, Window::once and Webview::once, use Listener::once instead.
    • Removed App/AppHandle::unlisten, WebviewWindow::unlisten, Window::unlisten and Webview::unlisten, use Listener::unlisten instead.
  • 261c9f942 (#10170 by @amrbashir) Renamed DragDropEvent enum variants to better convey when they are triggered:

    • DragDropEvent::Dragged -> DragDropEvent::Enter
    • DragDropEvent::DragOver -> DragDropEvent::Over
    • DragDropEvent::Dropped -> DragDropEvent::Drop
    • DragDropEvent::Cancelled -> DragDropEvent::Leave

    This also comes with a change in the events being emitted to JS and Rust event listeners:

    • tauri://drag -> tauri://drag-enter
    • tauri://drop-over -> tauri://drag-over
    • tauri://drop -> tauri://drag-drop
    • tauri://drag-cancelled -> tauri://drag-leave
  • 2b1ceb40d (#10229 by @amrbashir) Renamed the JS getCurrent and getAll functions to a clearer name to avoid ambiguity:

    • getCurrent in window module has been renamed to getCurrentWindow
    • getCurrent in webview module has been renamed to getCurrentWebview
    • getCurrent in webviewWindow module has been renamed to getCurrentWebviewWindow
    • getAll in window module has been renamed to getAllWindows
    • getAll in webview module has been renamed to getAllWebviews
    • getAll in webviewWindow module has been renamed to getAllWebviewWindows
  • 57612ab24 (#10139 by @Brendonovich) Add TSend generic to ipc::Channel for typesafe send calls and type inspection in tauri-specta

Jul 2, 2024
  • 148f04887 (#9979) Add defaultWindowIcon to the JS app module to retrieve the default window icon in JS.
  • 5b769948a (#9959) Add include_image macro to help embedding instances of Image struct at compile-time in rust to be used with window, menu or tray icons.
  • ddaabda36 (#9922) Add WebviewWindowBuilder::on_download.
  • cee0bfcd6 (#10092) Make tray:default and menu:default include all tray and menu permissions
  • e93ca1df3 (#10138) Fix InvokeBody::deserialize method deserialization for InvokeBody::Raw variant

  • e6e17ad1c (#9954) Add std feature to raw-window-handle crate so that using default-features = false on tauri crate can work

  • f29b78811 (#9862) On Windows, handle resizing undecorated windows natively which improves performance and fixes a couple of annoyances with previous JS implementation:

    • No more cursor flickering when moving the cursor across an edge.
    • Can resize from top even when data-tauri-drag-region element exists there.
    • Upon starting rezing, clicks don't go through elements behind it so no longer accidental clicks.
  • 669b9c6b5 (#9621) Set the gtk application to the identifier defined in tauri.conf.json to ensure the app uniqueness.
  • Upgraded to tauri-utils@2.0.0-beta.18
  • Upgraded to tauri-build@2.0.0-beta.18
  • Upgraded to tauri-macros@2.0.0-beta.18
  • Upgraded to tauri-runtime-wry@2.0.0-beta.19
  • Upgraded to tauri-runtime@2.0.0-beta.19
  • f955f7b49 (#9929) Switch from dirs_next to dirs as dirs_next is now unmaintained while dirs is
  • d4c908cfb (#10048) Update windows crate to version 0.57 and webview2-com crate to version 0.31
  • 3afe82894 (#10134) Changed WebviewWindow::navigate and Webview::navigate method signature to return a Result
  • Upgraded to tauri-bundler@2.0.1-beta.19
May 29, 2024
  • dfd05441c(#9860) Revert adding app-region: drag to HTML elements with data-tauri-drag-region on Windows as it has a few issues:

    • Doesn't allow right click, as it will always show the system context menu on right click.
    • data-tauri-drag-region works only if the click was on an element that has it, this allows buttons in the custom titlebar to work, however app-region: drag will treat the whole area as a titlebar won't even allow clicks on buttons.
  • c734b9e3c (#10072 by @FabianLars) Upgraded the WiX version to 3.14 which fixes vulnerability issues and adds support for Arm targets.
  • 7c7fa0964 (#9963 by @lucasfernog) Added --method argument for ios build to select the export options' method.
  • 7c7fa0964 (#9963 by @lucasfernog) Setup iOS signing by reading IOS_CERTIFICATE, IOS_CERTIFICATE_PASSWORD and IOS_MOBILE_PROVISION environment variables.
  • c01e87ad4 (#10198 by @amrbashir) Enhance tauri migrate to also migrate variables like appWindow:

    import { appWindow } from '@tauri-apps/api/window'

    will become:

    import { getCurrentWebviewWindow } from '@tauri-apps/api/webviewWindow'
    const appWindow = getCurrentWebviewWindow()
  • 94136578b (#10186 by @amrbashir) Fix migrate command, migrating incorrect permissions for clipboard.
  • c01e87ad4 (#10198 by @amrbashir) Fix tauri migrate incorrectly migrating @tauri-apps/api/tauri module to just core and @tauri-apps/api/window to just webviewWindow.
  • 15e125996 (#10234 by @amrbashir) Fix cli failing to detect the correct cargo target directory when using cargo --target-dir flag with tauri build or tauri dev
  • Upgraded to tauri-bundler@2.0.1-beta.18
  • Upgraded to tauri-macos-sign@0.1.0-beta.0
  • Upgraded to tauri-utils@2.0.0-beta.19
May 29, 2024
  • 8a1ae2dea(#9843) Added an option to use a Xcode project for the iOS plugin instead of a plain SwiftPM project.
  • 276c4b143(#9832) On Windows, fix wrong menubar theme when window is using an explicit theme.
  • ccc3ea729(#9646) Parse the correct platform tauri.<platform>.conf.json config file when building or developing for mobile.
  • aa55e0335(#9899) Set default window origin to null. Prevent window crash when loading about:blank.
  • 9ac930380(#9850) Emit cargo:rustc-check-cfg instruction so Cargo validates custom cfg attributes on Rust 1.80 (or nightly-2024-05-05).
  • 80aa50498(#9870) Updated Android target SDK to 34.
  • Upgraded to tauri-build@2.0.0-beta.17
  • Upgraded to tauri-macros@2.0.0-beta.17
  • Upgraded to tauri-utils@2.0.0-beta.17
  • Upgraded to tauri-runtime@2.0.0-beta.18
  • Upgraded to tauri-runtime-wry@2.0.0-beta.18
  • e8f6eb59a(#9552) Include binary path in Env.args_os, previously it was skipped.

  • 1df5cdeb0(#9858) Use tauri.conf.json > identifier to set the PackageName in Android and BundleId in iOS.

  • aaecb6a72(#9890) Renamed dev function to is_dev and marked it as const fn

  • c4410daa8(#9777) This release contains breaking changes to the tray event structure because of newly added events:

    • Changed TrayIconEvent to be an enum instead of a struct.
    • Added MouseButtonState and MouseButton enums.
    • Removed ClickType enum and replaced it with MouseButton enum.
    • Added MouseButtonState enum.
  • 656a64974 (#9318) Added a configuration option to disable hardened runtime on macOS codesign.
  • f44a2ec47 (#10030) Enhance the plugin template to include permissions/default.toml and default capabilities file for the example application.
  • 3cca5c2be (#9924) Migrate to new Android buildFeatures.buildConfig format.
  • Upgraded to tauri-bundler@2.0.1-beta.17
  • Upgraded to tauri-utils@2.0.0-beta.18
  • f955f7b49 (#9929) Switch from dirs_next to dirs as dirs_next is now unmaintained while dirs is
  • 911242f09 (#9883) Move updater target from bundle > targets to a separate field bundle > createUpdaterArtifacts
May 23, 2024
  • ae6b13dfc(#9789) Add app-region: drag to HTML elements with data-tauri-drag-region on Windows, only WebView2 123+, which should fix dragging using touch.
  • ec0e092ec(#9770) Add App/AppHandle/Window/Webview/WebviewWindow::monitor_from_point(x, y) getter to get the monitor from a given point.
  • d950ac123 Only process IPC commands from the main frame.
  • Upgraded to tauri-utils@2.0.0-beta.16
  • Upgraded to tauri-runtime-wry@2.0.0-beta.17
  • Upgraded to tauri-runtime@2.0.0-beta.17
  • Upgraded to tauri-macros@2.0.0-beta.16
  • Upgraded to tauri-build@2.0.0-beta.16
  • Upgraded to tauri-bundler@2.0.1-beta.16
May 9, 2024
  • 78839b6d2(#4865) Add RunEvent::Reopen for handle click on dock icon on macOS.
  • fedca7386(#9720) Fix IPC tracing format incompatible between the custom protocol and the postMessage implementations.
  • Upgraded to tauri-runtime@2.0.0-beta.16
  • Upgraded to tauri-runtime-wry@2.0.0-beta.16
  • Upgraded to tauri-utils@2.0.0-beta.15
  • Upgraded to tauri-macros@2.0.0-beta.15
  • Upgraded to tauri-build@2.0.0-beta.15
  • 783ef0f2d(#9647) Changed WebviewWindow::url and Webview::url getter to return a result.
  • 8a1ae2dea(#9843) Added an option to use a Xcode project for the iOS plugin instead of a plain SwiftPM project.
  • 9e4b2253f(#9734) Add tauri bundle subcommand which runs the bundle phase only, best paired with tauri build --no-bundle
  • 8b032c3cf(#9896) Add a blank LaunchScreen.storyboard to the iOS project init template to pass the App Store validation.
  • 71a5e2ba2(#9799) On Android, allow using Kotlin keywords as identifiers and escape them in templates.
  • 9970d88be(#9892) Update to latest gradle.
  • Upgraded to tauri-bundler@2.0.1-beta.15
  • Upgraded to tauri-utils@2.0.0-beta.17
  • 265c23886(#9375) Avoid renaming main binary to product name and perserve the name generated by cargo.
  • 1df5cdeb0(#9858) Use tauri.conf.json > identifier to set the PackageName in Android and BundleId in iOS.
May 6, 2024
  • 07ff78c2d(#9615) Add TrayIcon::rect method to retrieve the tray icon rectangle
  • 7f6d2698c(#9631) Improve the error message that is shown when deserializing the Tauri plugin config.
  • 8a71858eb(#9630) Provide a default for the runtime generic on Menu, MenuItem, Submenu, PredefinedMenuItem, CheckMenuItem and IconMenuItem.
  • 8a71858eb(#9630) Provide a default for the runtime generic on TrayIcon.
  • Upgraded to tauri-utils@2.0.0-beta.14
  • Upgraded to tauri-runtime@2.0.0-beta.15
  • Upgraded to tauri-runtime-wry@2.0.0-beta.15
  • Upgraded to tauri-macros@2.0.0-beta.14
  • Upgraded to tauri-build@2.0.0-beta.14
  • beda18bce(#9855) Fixed an issue that caused tauri add to fail for multiple rust-only and platform-specific plugins.
  • 4a33bc6a6(#9553) Fixes pnpm detection when initializing and running a mobile project.
  • Upgraded to tauri-bundler@2.0.1-beta.14
  • Upgraded to tauri-utils@2.0.0-beta.16
Apr 30, 2024
  • 12b4159bd(#9392) Add specta feature flag which adds specta support for AppHandle, State, Window, Webview and WebviewWindow types.
  • 477bb8cd4(#9297) Add App/AppHandle/Window/Webview/WebviewWindow::cursor_position getter to get the current cursor position.
  • eff778b8f(#9571) Run each plugin initialization script on its own context so they do not interfere with each other or the Tauri init script.
  • Upgraded to tauri-runtime@2.0.0-beta.14
  • Upgraded to tauri-runtime-wry@2.0.0-beta.14
  • Upgraded to tauri-utils@2.0.0-beta.15
  • Upgraded to tauri-bundler@2.0.1-beta.13
Apr 22, 2024
  • 70c51371e(#9539) Add window.isTauri to check whether running inside tauri or not.
  • daf018e4f(#9505) Fix resource tables not cleaned up on exit which causes tray icon inside resource tables not cleaned up on exit
  • a07b51320(#9490) Add missing permission for window.start_resize_dragging
  • 35b25f7e5(#9530) Do not use JS optional chaining to prevent script errors on older webviews such as macOS 10.14.
  • 005fe8ce1(#9410) Fix closable, maximizable and minimizable options not taking effect when used in tauri.conf.json or from JS APIs.
  • Upgraded to tauri-runtime-wry@2.0.0-beta.13
  • Upgraded to tauri-build@2.0.0-beta.13
  • Upgraded to tauri-utils@2.0.0-beta.13
  • Upgraded to tauri-runtime@2.0.0-beta.13
  • Upgraded to tauri-macros@2.0.0-beta.13
  • da25f7353 (#10242 by @amrbashir) Add APIs to enable setting window size constraints separately:

    • Added WindowSizeConstraints interface in window and webviewWindow modules.
    • Added Window.setSizeConstraints and WebviewWindow.setSizeConstraints
  • 3c17fb64f (#10277 by @Legend-Master) Fix Webview.reparent pointing to set_webview_focus instead of reparent Rust API
  • da25f7353 (#10242 by @amrbashir) Apply minWidth, minHieght, maxWidth and maxHeight constraints separately, which fixes a long standing bug where these constraints were never applied unless width and height were constrained together.
  • Upgraded to tauri-utils@2.0.0-beta.14
  • Upgraded to tauri-bundler@2.0.1-beta.12
Apr 15, 2024
  • 58a7a552d(#9378) Added the set_zoom function to the webview API.
  • 58a7a552d(#9378) Add zoom_hotkeys_enabled to enable browser native zoom controls on creating webviews.
  • 4973d73a2(#9386) Provide a basic zoom hotkey polyfill for non-Windows platforms
  • f1674fce6(#9420) Tauri's built-in commands for the JS api will now return simplified paths on Windows, removing the \\?\ prefix.
  • c8a82ad22(#9379) Fix deadlock when using the menu/tray/image JS APIs.
  • 6251645ac(#9360) Fixes an issue causing getAll() to list webviews that were already destroyed.
  • Upgraded to tauri-utils@2.0.0-beta.12
  • Upgraded to tauri-runtime-wry@2.0.0-beta.12
  • Upgraded to tauri-runtime@2.0.0-beta.12
  • Upgraded to tauri-macros@2.0.0-beta.12
  • Upgraded to tauri-build@2.0.0-beta.12
  • c8a82ad22(#9379) Changed JsImage::into_img to take a reference to a ResourceTable instead of a Manager.
  • 080b6e127 (#10246 by @Legend-Master) Use EventName on Window, Webview and WebviewWindow's once so you can get auto complete for tauri's built-in events
  • 261c9f942 (#10170 by @amrbashir) Renamed drag and drop events in TauriEvent enum to better convey when they are triggered:

    • TauriEvent.DRAG -> TauriEvent.DRAG_ENTER
    • TauriEvent.DROP_OVER -> TauriEvent.DRAG_OVER
    • TauriEvent.DROP -> TauriEvent.DRAG_DROP
    • TauriEvent.DROP_CANCELLED -> TauriEvent::DRAG_LEAVE

    Also the type field values in Window/Webview/WebviewWindow.onDropEvent and DragDropEvent have changed:

    • dragged -> enter
    • dragOver -> over
    • dropped -> drop
    • cancelled -> leave
  • 2b1ceb40d (#10229 by @amrbashir) Renamed the JS getCurrent and getAll functions to a clearer name to avoid ambiguity:

    • getCurrent in window module has been renamed to getCurrentWindow
    • getCurrent in webview module has been renamed to getCurrentWebview
    • getCurrent in webviewWindow module has been renamed to getCurrentWebviewWindow
    • getAll in window module has been renamed to getAllWindows
    • getAll in webview module has been renamed to getAllWebviews
    • getAll in webviewWindow module has been renamed to getAllWebviewWindows
  • 3f0805488(#9603) Use windows-sys crate instead of winapi which fixes installing the published cli from crates.io using cargo install tauri-cli --version "^2.0.0-beta".
Apr 2, 2024
  • 06833f4fa(#9100) Enhance the IPC URL check by using the Origin header on the custom protocol IPC and the new request URI field on the postMessage IPC instead of using Webview::url() which only returns the URL of the main frame and is not suitable for iframes (iframe URL fetch is still not supported on Android and on Linux when using the postMessage IPC).
  • c33f6e6cf(#9211) Fixed an issue preventing webview/window creation events to not be emitted. This also fixed the getByLabel and getAll JavaScript functions.
  • Upgraded to tauri-utils@2.0.0-beta.11
  • Upgraded to tauri-runtime-wry@2.0.0-beta.11
  • Upgraded to tauri-runtime@2.0.0-beta.11
  • Upgraded to tauri-macros@2.0.0-beta.11
  • Upgraded to tauri-build@2.0.0-beta.11
  • 06833f4fa(#9100) Rename FileDrop to DragDrop on structs, enums and enum variants. Also renamed file_drop to drag_drop on fields and function names.

  • 284eca9ef(#9272) Manager::resources_table is now scoped so each App/AppHandle/Window/Webview/WebviewWindow has its own resource collection.

  • 06833f4fa(#9100) Refactored the tray icon event struct:

    • Changed TrayIconEvent.icon_rect type to use the new tauri::Rect type.
    • Removed TrayIconEvent.x and TrayIconEvent.y fields and combined them into TrayIconEvent.position field.
    • Removed tauri::tray::Rectangle struct.
  • 148f04887 (#9979) Add defaultWindowIcon to the JS app module to retrieve the default window icon in JS.
  • 8a63ceb4f(#9473) Ignore .DS_Store by default for tauri dev hot reloads.
  • e64b8f1dc(#9479) Upgrade heck to v0.5 to better support Chinese and Japanese product name, because Chinese do not have word separation.
  • aaa332c6e(#9540) Fix tauri migrate trying to migrate to a non-existing plugin.
  • e64b8f1dc(#9479) Fixed an issue causing the build.runner and build.features configs to not take effect.
  • Upgraded to tauri-bundler@2.0.1-beta.10
  • Upgraded to tauri-utils@2.0.0-beta.13
Mar 20, 2024
  • 75f5cb401(#9214) tauri::Window and tauri::WebviewWindow now implement raw_window_handle::HasDisplayHandle.
  • 81b853bc8(#9213) Fixed an issue where errors where returned as strings instead of objects from commands.
  • 43230cb6b(#9219) Fixes the menu plugin remove command signature.
  • c4410daa8(#9777) This release contains breaking changes to the tray event structure because of newly added events:

    • Changed TrayIconEvent to be an enum instead of a struct.
    • Added MouseButtonState and MouseButton enums.
    • Removed ClickType enum and replaced it with MouseButton enum.
    • Added MouseButtonState enum.
  • 73c1c2d33(#9457) Gracefully handle Non-UTF8 files when using tauri migrate
  • 9331435a5(#9412) Fix tauri info crashing when Node.js is not installed.
  • 8f4b1050c(#9459) Show full expected path of frontendDist when if can't be found.
  • Upgraded to tauri-bundler@2.0.1-beta.9
  • Upgraded to tauri-utils@2.0.0-beta.12
Mar 18, 2024
  • e227fe02f(#9156) Allow plugins to define (at compile time) JavaScript that are initialized when withGlobalTauri is true.
  • 379cc2b35(#9165) Fix basename(path, 'ext') JS API when removing all occurances of ext where it should only remove the last one.
  • Upgraded to tauri-build@2.0.0-beta.10
  • Upgraded to tauri-utils@2.0.0-beta.10
  • Upgraded to tauri-runtime@2.0.0-beta.10
  • Upgraded to tauri-runtime-wry@2.0.0-beta.10
  • Upgraded to tauri-macros@2.0.0-beta.10
  • acdd76833(#9155) Removed App/AppHandle::tray and App/AppHandle::remove_tray, use App/AppHandle::tray_by_id and App/AppHandle::remove_tray_by_id instead. If these APIs were used to access tray icon configured in tauri.conf.json, you can use App/AppHandle::tray_by_id with ID main or the configured value.
  • ea0242db4(#9179) Removed width and height methods on the JS Image class, use size instead.
  • ec0e092ec(#9770) Add monitorFromPoint function in window module to get the monitor from a given point.
  • 93e0e1392 Support specifying a version for tauri add subcommand, for example: tauri add window-state@2.0.0-beta.2
  • 6703b7cbc(#9310) Use $CARGO_MANIFEST_DIR when including templates at build-time.
  • Upgraded to tauri-bundler@2.0.1-beta.8
  • Upgraded to tauri-utils@2.0.0-beta.11
Mar 11, 2024
  • 490a6b424(#9147) The Assets trait now include a setup method that lets you run initialization code for your custom asset provider.
  • 85de230f3(#9144) Fix old JS listeners being dropped on page load after it was possible to create new listeners.
  • e673854c8(#9133) Fixes capability remote domain not allowing subpaths, query parameters and hash when those values are empty.
  • Upgraded to tauri-macros@2.0.0-beta.9
  • Upgraded to tauri-utils@2.0.0-beta.9
  • Upgraded to tauri-build@2.0.0-beta.9
  • Upgraded to tauri-runtime@2.0.0-beta.9
  • Upgraded to tauri-runtime-wry@2.0.0-beta.9
  • 490a6b424(#9147) The Context struct and the Assets trait now takes a R: Runtime generic.
  • ba0206d8a(#9141) Context::assets now returns &dyn Assets instead of &A generic.
  • ba0206d8a(#9141) The Context type no longer uses the <A: Assets> generic so the assets implementation can be swapped with Context::assets_mut.
  • 490a6b424(#9147) Removed Context::assets_mut and added Context::set_assets.
  • db0a24a97(#9132) Use the image crate for tauri::image::Image and remove the from_png_bytes and from_ico_bytes APIs.
  • ac76a22f3(#9183) Allow empty responses for devUrl, beforeDevCommand and beforeBuildCommands questions in tauri init.
  • b525ddadf(#9237) openssl is no longer a required dependency on macOS.
  • Upgraded to tauri-bundler@2.0.1-beta.7
Mar 7, 2024
  • 3e472d0af(#9115) Added CapabilityBuilder::platform to link the runtime capability with a specific platform.
  • 3e472d0af(#9115) Changed the permission and capability platforms to be optional.
  • 9dc9ca6e3(#9113) Added tauri::dev() to determine whether we are running in development mode or not.
  • 5541aafef(#9107) Fix emit and emit_to (when used with EventTarget::Any) always skipping the webview listeners.
  • 80c12ead4(#9121) Fix regression on IPC response when using a channel to return objects.
  • Upgraded to tauri-utils@2.0.0-beta.8
  • Upgraded to tauri-runtime@2.0.0-beta.8
  • Upgraded to tauri-runtime-wry@2.0.0-beta.8
  • Upgraded to tauri-macros@2.0.0-beta.8
  • Upgraded to tauri-build@2.0.0-beta.8
  • 4ef17d083(#9116) The ACL configuration for remote URLs now uses the URLPattern standard instead of glob patterns.
  • ed48e2b3c(#9122) Expose tauri::image module to export the JsImage type and removed the Image root re-export.
  • 477bb8cd4(#9297) Add cursorPosition function in window module to get the current cursor position.
  • 7213b9e47(#9124) Add default permission for a plugin to capabilities when using tauri add <plugin>.
  • Upgraded to tauri-utils@2.0.0-beta.10
  • Upgraded to tauri-bundler@2.0.1-beta.6
Mar 6, 2024
  • a77be9747(#9038) Fallback to the postMessage IPC interface if we cannot reach the IPC custom protocol.
  • e62ca4ee9(#9070) Added a mechanism to preserve channel message order.
  • 03098b531(#9036) Manager::add_capability now allows adding a dynamically defined capability instead of only relying on static strings.
  • b5c743276(#9086) Use a strict content security policy on the isolation pattern iframe.
  • 46de49aaa(#9059) When using the unstable feature flag, WebviewWindow will internally use the child webview interface for flexibility.
  • 86fa339de(#9071) Fix compile time error in context generation when using app.windows.windowEffects.color
  • 947a50b8e(#9049) Fix tauri migrate for http plugin ACL.
  • fe18012d3(#9072) Resolve symlinks on the filesystem scope check.
  • 6c0683224(#9068) Fixes scope resolution grouping scopes for all windows.
  • Upgraded to tauri-build@2.0.0-beta.7
  • Upgraded to tauri-utils@2.0.0-beta.7
  • Upgraded to tauri-runtime@2.0.0-beta.7
  • Upgraded to tauri-runtime-wry@2.0.0-beta.7
  • Upgraded to tauri-macros@2.0.0-beta.7
  • d1e77acd8(#9011) Renamed icon-ico and icon-png feature flags to image-ico and image-png respectively
  • 720357fd5(#9104) Removed tauri::path::Result and tauri::path::Error which were merely an unintentional re-export of tauri::Result and tauri::Error so use those instead.
  • 6c0683224(#9068) The allows and denies methods from ipc::ScopeValue, ipc::CommandScope and ipc::GlobalScope now returns &Vec<Arc<T>> instead of &Vec<T>.
  • d1e77acd8(#9011) Removed Context::default_window_icon_mut and Context::tray_icon_mut, use Context::set_default_window_icon and Context::set_tray_icon instead. Also changed Context::set_tray_icon to accept Option<T>.
  • d1e77acd8(#9011) Removed Icon enum, use the new Image type instead. All APIs that previously accepted Icon have changed to accept Image instead.
  • 70c51371e(#9539) Add isTauri function in core module to check whether running inside tauri or not.
  • be7eab209(#9486) Set the exports > types package.json field.
  • cf615e8e4(#9463) Fixes a bug when processing channel messages out of order.
  • 35b25f7e5(#9530) Do not use JS optional chaining to prevent script errors on older webviews such as macOS 10.14.
  • c3ea3a2b7(#9126) Fix bundling when plugins > updater > windows > installerArgs are set in tauri.conf.json
  • Upgraded to tauri-utils@2.0.0-beta.9
  • Upgraded to tauri-bundler@2.0.1-beta.5
Feb 29, 2024
  • d7f56fef(#9014) Allow defining a permission that only applies to a set of target platforms via the platforms configuration option.
  • e1d5b790(#8995) Fixes capability webview label check.
  • 222a96b7(#8999) Fixes Window::add_child deadlock.
  • e4463f08(#8930) Clear JS event listeneres on page load, which fixes zombie listeners when the page reloads.
  • 222a96b7(#8999) Fixes Webview::reparent not updating the webview parent window reference.
  • Upgraded to tauri-build@2.0.0-beta.6
  • Upgraded to tauri-utils@2.0.0-beta.6
  • Upgraded to tauri-runtime-wry@2.0.0-beta.6
  • Upgraded to tauri-runtime@2.0.0-beta.6
  • Upgraded to tauri-macros@2.0.0-beta.6
  • 3657ad82(#9008) Allow defining permissions for the application commands via tauri_build::Attributes::app_manifest.
  • b9e6a018(#8937) The custom-protocol Cargo feature is no longer required on your application and is now ignored. To check if running on production, use #[cfg(not(dev))] instead of #[cfg(feature = "custom-protocol")].
  • 58a7a552d(#9378) Added the set_zoom function to the webview API.
  • 58a7a552d(#9378) Add zoom_hotkeys_enabled to enable browser native zoom controls on creating webviews.
  • 48a7a78f8(#9376) Fix Window/Webview/WebviewWindow.setSize, Window/Webview/WebviewWindow.setPostion, Window/WebviewWindow.setMinSize, Window/WebviewWindow.setMaxSize, Window/WebviewWindow.setCursorPosition and Menu/Submenu.popup methods failing with invalid args.
  • 3e472d0af(#9115) Changed the permission and capability platforms to be optional.
  • Upgraded to tauri-utils@2.0.0-beta.8
  • Upgraded to tauri-bundler@2.0.1-beta.4
Feb 27, 2024
  • bc5b5e67(#8984) Do not include a CSP tag in the application HTML and rely on the custom protocol response header instead.
  • 6cb601d4(#8983) Convert the command name to camelCase when executing a mobile plugin command.
  • 60bf11ab(#8986) Export ProgressBarStatus, regression introduced in 2.0.0-beta.4
  • Upgraded to tauri-utils@2.0.0-beta.5
  • Upgraded to tauri-runtime@2.0.0-beta.5
  • Upgraded to tauri-runtime-wry@2.0.0-beta.5
  • Upgraded to tauri-macros@2.0.0-beta.5
  • Upgraded to tauri-build@2.0.0-beta.5
  • c33f6e6cf(#9211) Re-added the TauriEvent.WINDOW_CREATED (tauri://window-created) event.
  • 06833f4fa(#9100) Rename FileDrop to DragDrop on structs, enums and enum variants. Also renamed file_drop to drag_drop on fields and function names.
  • c68218b36(#8990) Add --no-bundle flag for tauri build command to skip bundling. Previously none was used to skip bundling, it will now be treated as invalid format and a warning will be emitted instead.
  • Upgraded to tauri-utils@2.0.0-beta.7
  • Upgraded to tauri-bundler@2.0.1-beta.3
  • 4f7894176(#9034) Update dependencies, fix log compilation issue.
Feb 23, 2024
  • acdd76833(#9155) Add TrayIcon.getById and TrayIcon.removeById static methods.
  • ea0242db4(#9179) The Image constructor is now public (for internal use only).
  • 379cc2b35(#9165) Fix basename(path, 'ext') JS API when removing all occurances of ext where it should only remove the last one.
  • ea0242db4(#9179) Image::rgba() now returns Promise<Uint8Array>.
  • ea0242db4(#9179) Removed width and height methods on the JS Image class, use size instead.
  • f5f3ed5f(#9009) Fixes Android and iOS project initialization when the Tauri CLI is on a different disk partition.
  • d7d03c71(#9017) Fixes dev watcher on mobile dev.
  • b658ded6(#9015) Fixes truncation of existing BuildTask.kt when running tauri android init.
  • Upgraded to tauri-utils@2.0.0-beta.6
  • Upgraded to tauri-bundler@2.0.1-beta.2
Feb 22, 2024
  • fdcaf935(#8939) Added the reparent function to the webview API.
  • Upgraded to tauri-utils@2.0.0-beta.4
  • Upgraded to tauri-runtime-wry@2.0.0-beta.4
  • Upgraded to tauri-build@2.0.0-beta.4
  • Upgraded to tauri-runtime@2.0.0-beta.4
  • Upgraded to tauri-macros@2.0.0-beta.4
  • db0a24a97(#9132) Remove the Image.fromPngBytes and Image.fromIcoBytes APIs. Use Image.fromBytes instead.
  • 06d63d67(#8827) Add new subcommands for managing permissions and cababilities:

    • tauri permission new
    • tauri permission add
    • tauri permission rm
    • tauri permission ls
    • tauri capability new
  • b9e6a018(#8937) The custom-protocol Cargo feature is no longer required on your application and is now ignored. To check if running on production, use #[cfg(not(dev))] instead of #[cfg(feature = "custom-protocol")].
  • 9be314f0(#8951) Add plugins to Cargo.toml when using tauri migrate
  • Upgraded to tauri-utils@2.0.0-beta.5
  • Upgraded to tauri-bundler@2.0.1-beta.1
Feb 21, 2024
  • 3fb414b6(#8914) Return an id when using from Manager::once_any, App::once, Window::once, Webview::once, WebviewWindow::once and fs::Scope::once.
  • Upgraded to tauri-utils@2.0.0-beta.3
  • Upgraded to tauri-runtime@2.0.0-beta.3
  • Upgraded to tauri-runtime-wry@2.0.0-beta.3
  • Upgraded to tauri-macros@2.0.0-beta.3
  • Upgraded to tauri-build@2.0.0-beta.3
  • 361ec37f(#8932) Moved ProgressBarState from tauri-utils to the tauri::window module and removed the unity_uri field.
  • e62ca4ee9(#9070) Added a mechanism to preserve channel message order.
  • e538ba58(#8949) Fixes android and iOS process spawning not working on Node.js.
  • Upgraded to tauri-bundler@2.0.1-beta.0
  • Upgraded to tauri-utils@2.0.0-beta.4
  • a76fb118(#8950) Changed the capability format to allow configuring both remote: { urls: Vec<String> } and local: bool (default: true) instead of choosing one on the context field.
Feb 19, 2024
  • 16e550ec(#8844) Add webview-specific events for multi-webview windows:

    • Add WebviewEvent enum
    • Add RunEvent::WebviewEvent variant.
    • Add Builder::on_webview_event and Webview::on_webview_event methods.
  • 11a5816b(#8864) A file-drop now allows sub-directories recursively when the path is a directory.
  • 0cb0a15c(#8789) Add webviews array on the capability for usage on multiwebview contexts.
  • 258494bd(#8806) Added Manager::add_capability to add a capability file at runtime.
  • 5618f6d2(#8856) Relax requirements on plugin's identifiers to be alphanumeric and - instead of only lower alpha and -.
  • 16e550ec(#8844) Fix JS event listeners registered using JS listen api with EventTarget::Any never fired.
  • 8751c329(#8793) Fix invoking toggle devtools by hotkey.
  • bd73ab0a(#8766) When using the multiwebview mode, properly remove the webview from memory on Webview::close.
  • 46b6598a(#8826) Fix JS onCloseRequested catching close event from other windows.
  • 2e6db908(#8777) Fix regression in tauri::Error not being Sync.
  • 76ce9f61(#3002) Enhance centering a newly created window, it will no longer jump to center after being visible.
  • Upgraded to tauri-utils@2.0.0-beta.2
  • Upgraded to tauri-build@2.0.0-beta.2
  • Upgraded to tauri-macros@2.0.0-beta.2
  • Upgraded to tauri-runtime-wry@2.0.0-beta.2
  • Upgraded to tauri-runtime@2.0.0-beta.2
  • 258494bd(#8806) Removed the lifetime parameter from ipc::GlobalScope and ipc::CommandScope.
  • f284f9c5(#8898) Changed the capability remote configuration to take a list of urls instead of domains for more flexibility.
  • 2f55bfec(#8795) Update raw-window-handle to 0.6.
  • 2e6db908(#8777) Require ScopeObject::Error to be Sync as well.
  • fdcaf935(#8939) Added the reparent function to the webview API.
  • a029b9f7(#8910) Setting up code signing is no longer required on iOS when using the simulator.
  • Upgraded to tauri-utils@2.0.0-beta.3
  • Upgraded to tauri-bundler@2.0.0-beta.3
Feb 4, 2024
  • fe67ab7f(#8761) Workaround for zbus not enabling the proper Cargo features for its nix dependency.
  • Upgraded to tauri-build@2.0.0-beta.1
  • Upgraded to tauri-utils@2.0.0-beta.1
  • Upgraded to tauri-runtime@2.0.0-beta.1
  • Upgraded to tauri-runtime-wry@2.0.0-beta.1
  • Upgraded to tauri-macros@2.0.0-beta.1
  • 361ec37f(#8932) Removed the unityUri option from the progress bar state, no longer required.
  • 83a68deb(#8797) Update app template following capabilities configuration change.
  • aa06a053(#8810) Fix tauri plugin android init printing invalid code that has a missing closing ".
  • 3cee26a5(#8865) On Windows, fixed tauri info fails to detect the build tool when the system language is CJK.
  • 052e8b43(#8838) Downgrade minisign dependency fixing updater signing key bug and prevent it from happening in the future.
  • fb0d9971(#8783) Fixes a regression on the --config argument not accepting file paths.
  • baca704d(#8768) Do not migrate updater configuration if the active flag is set to false.
  • Upgraded to tauri-utils@2.0.0-beta.2
  • Upgraded to tauri-bundler@2.0.0-beta.2
Feb 3, 2024
  • 863bc9e5(#8749) Fix regression on the JavaScript code that processes the IPC message.
  • 16e550ec(#8844) Add a new webviewWindow module that exports WebviewWindow class and related methods such as getCurrent and getAll.
  • 16e550ec(#8844) Add Window.onFileDropEvent method.
  • 16e550ec(#8844) Renamed the following enum variants of TauriEvent enum:

    • TauriEvent.WEBVIEW_FILE_DROP -> TauriEvent.FILE_DROP
    • TauriEvent.WEBVIEW_FILE_DROP_HOVER -> TauriEvent.FILE_DROP_HOVER
    • TauriEvent.WEBVIEW_FILE_DROP_CANCELLED -> TauriEvent.FILE_DROP_CANCELLED
  • 16e550ec(#8844) Move WebviewWindow class from webview module to a new webviewWindow module.

  • 4e101f80(#8756) Moved the capability JSON schema to the src-tauri/gen folder so it's easier to track changes on the capabilities folder.
  • 4e101f80(#8756) Update app and plugin templates following generated files change from tauri-build and tauri-plugin.
  • Upgraded to tauri-utils@2.0.0-beta.1
  • Upgraded to tauri-bundler@2.0.0-beta.1
Feb 3, 2024
  • 74a2a603(#8661) Implement access control list for IPC usage.
  • a2fc3a63(#8657) Add visibleOnAllWorkspaces option when creating the window in JS and Window.setVisibleOnAllWorkspaces method.
  • af610232(#8710) Added Window::destroy to force close a window.
  • c77b4032(#8280) Add multiwebview support behind the unstable feature flag. See WindowBuilder and WebviewBuilder for more information.
  • 9eaeb5a8(#8622) Add WindowBuilder::parent which is a convenient wrapper around parent functionality for Windows, Linux and macOS. Also added WindowBuilder::owner on Windows only. Also added WindowBuilder::transient_for and WindowBuilder::transient_for_raw on Linux only.
  • e8d3793c(#8732) Add common-controls-v6 cargo feature flag (enabled by default).
  • 58fe2e81(#8670) Allow IPC calls when window origin is a defined custom protocol.
  • 95da1a27(#8713) Fix calling set_activation_policy when the event loop is running.
  • e1eb911f(#8582) Ensure initalize logic and dropping of menu item is done on the main thread, this fixes the crash when a menu item is dropped on another thread.
  • a093682d(#8621) Fix can not prevent closing a window from another webview.
  • 7f033f6d(#8537) Fix undecorated window resizing on Windows and Linux.
  • 9f8037c2(#8633) On Windows, fix decorated window not transparent initially until resized.
  • 7f033f6d(#8537) Add Window::start_resize_dragging and ResizeDirection enum.
  • 6639a579(#8441) Added the WindowConfig::proxy_url WebviewBuilder::proxy_url() / WebviewWindowBuilder::proxy_url() options when creating a webview.
  • Upgraded to tauri-build@22.0.0-beta.0
  • Upgraded to tauri-utils@2.0.0-beta.0
  • Upgraded to tauri-macros@2.0.0-beta.0
  • Upgraded to tauri-runtime@2.0.0-beta.0
  • Upgraded to tauri-runtime-wry@2.0.0-beta.0
  • 8de308d1(#8723) Restructured Tauri config per RFC#5:

    • Moved package.productName, package.version and tauri.bundle.identifier fields to the top-level.
    • Removed package object.
    • Renamed tauri object to app.
    • Moved tauri.bundle object to the top-level.
    • Renamed build.distDir field to frontendDist.
    • Renamed build.devPath field to devUrl and will no longer accepts paths, it will only accept URLs.
    • Moved tauri.pattern to app.security.pattern.
    • Removed tauri.bundle.updater object, and its fields have been moved to the updater plugin under plugins.updater object.
    • Moved build.withGlobalTauri to app.withGlobalTauri.
    • Moved tauri.bundle.dmg object to bundle.macOS.dmg.
    • Moved tauri.bundle.deb object to bundle.linux.deb.
    • Moved tauri.bundle.appimage object to bundle.linux.appimage.
    • Removed all license fields from each bundle configuration object and instead added bundle.license and bundle.licenseFile.
    • Renamed AppUrl to FrontendDist and refactored its variants to be more explicit.
  • c77b4032(#8280) The invoke_system, on_page_load hooks now gives you a Webview argument instead of a Window.

  • e1eb911f(#8582) All menu item constructors accelerator argument have been changed to Option<impl AsRef<str>> so when providing None you need to specify the generic argument like None::<&str>.

  • e1eb911f(#8582) All menu item constructors have been changed to return a Result<Self>

  • aa758a85(#8716) Moved the command module items to the ipc module so its import name does not clash with the command macro.

  • 00e15675(#8708) AppHandle::exit and AppHandle::restart now go triggers RunEvent::ExitRequested and RunEvent::Exit and cannot be executed on the event loop handler.

  • ec9818ac(#8696) Added a callback to the App::run_iteration and removed its return value.

  • a093682d(#8621) Refactored the event system to better accommodate the new window types:

    • Added EventTarget enum.
    • Added App/AppHandle::listen, App/AppHandle::once and App/AppHandle::unlisten to listen to events targeting App/AppHandle
    • App/AppHandle/Window/Webview/WebviewWindow::emit will now emit to all event listeners.
    • App/AppHandle/Window/Webview/WebviewWindow::emit_to will emit to event targets that match the given label, see EventTarget enum.
    • App/AppHandle/Window/Webview/WebviewWindow::emit_filter will emit to event targets based on a filter callback which now takes &EventTarget instead of &Window.
    • Renamed Manager::listen_global and Manager::once_global to listen_any and once_any respectively to be consistent with EventTarget::Any, it will now also listen to any event to any target (aka event sniffer).
  • 9eaeb5a8(#8622) Renamed WindowBuilder::owner_window to WindowBuilder::owner_raw and WindowBuilder::parent_window to WindowBuilder::parent_raw.

  • 9eaeb5a8(#8622) Changed WindowBuilder::from_config to return a Result<Self>.

  • c77b4032(#8280) Renamed Window to WebviewWindow, WindowBuilder to WebviewWindowBuilder, Manager::windows to Manager::webview_windows and Manager::get_window to Manager::get_webview_window.

  • af610232(#8710) Window::close now triggers a close requested event instead of forcing the window to be closed.

  • c77b4032(#8280) Renamed the window-data-url feature flag to webview-data-url.

  • 74a2a603(#8661) Implement access control list for IPC usage.
  • a093682d(#8621) Added emitTo api to event module which is equivalent to the rust emit_to method. Also added emitTo method on Window, Webivew and WebviewWindow classes.
  • a2fc3a63(#8657) Add visibleOnAllWorkspaces option when creating the window in JS and Window.setVisibleOnAllWorkspaces method.
  • 7f033f6d(#8537) Add Window.startResizeDragging.
  • 9eaeb5a8(#8622) Add parent option when creating a window.
  • af610232(#8710) Added Window::destroy to force close a window.
  • c77b4032(#8280) Added support to multiwebview via the new window and webview modules.
  • c77b4032(#8280) Removed event callback's windowLabel.
  • c77b4032(#8280) The event target is now an object so you can target either a window or a webview.
  • c77b4032(#8280) Moved webview-specific APIs from the Window class to the Webview class.
  • c77b4032(#8280) Renamed TauriEvent.WINDOW_FILE_DROP to TauriEvent.WEBVIEW_FILE_DROP, TauriEvent.WINDOW_FILE_DROP_HOVER to TauriEvent.WEBVIEW_FILE_DROP_HOVER and TauriEvent.WINDOW_FILE_DROP_CANCELLED to TauriEvent.WEBVIEW_FILE_DROP_CANCELLED.
  • c77b4032(#8280) Added back the WebviewWindow API that exposes functionality of a window that hosts a single webview. The dedicated Window and Webview types are exposed for multiwebview features.
  • af610232(#8710) Window::close now triggers a close requested event instead of forcing the window to be closed.
  • 7fcc0bcd(#8490) Add plugin initialization rust code when using tauri add
  • 1878766f(#8667) Migrate the allowlist config to the new capability file format.
  • d6c7568c(#8720) Add files option to the AppImage Configuration.
  • b3209bb2(#8688) Ignore global .gitignore when searching for tauri directory.
  • e691208e(#7837) Prevent unneeded double Cargo.toml rewrite on dev and build.
  • f492efd7(#8666) Update app and plugin template following the new access control permission model.
  • 9cb9aa79(#8672) Allow license field in Cargo.toml to be { workspace = true }
  • Upgraded to tauri-utils@2.0.0-beta.0
  • Upgraded to tauri-bundler@2.0.0-beta.0
  • 8de308d1(#8723) Restructured Tauri config per RFC#5:

    • Moved package.productName, package.version and tauri.bundle.identifier fields to the top-level.
    • Removed package object.
    • Renamed tauri object to app.
    • Moved tauri.bundle object to the top-level.
    • Renamed build.distDir field to frontendDist.
    • Renamed build.devPath field to devUrl and will no longer accepts paths, it will only accept URLs.
    • Moved tauri.pattern to app.security.pattern.
    • Removed tauri.bundle.updater object, and its fields have been moved to the updater plugin under plugins.updater object.
    • Moved build.withGlobalTauri to app.withGlobalTauri.
    • Moved tauri.bundle.dmg object to bundle.macOS.dmg.
    • Moved tauri.bundle.deb object to bundle.linux.deb.
    • Moved tauri.bundle.appimage object to bundle.linux.appimage.
    • Removed all license fields from each bundle configuration object and instead added bundle.license and bundle.licenseFile.
    • Renamed AppUrl to FrontendDist and refactored its variants to be more explicit.
Jan 16, 2024
  • 29ced5ce(#8159) Added WindowBuilder::on_download to handle download request events.
  • d621d343(#8607) Added tracing for window startup, plugins, Window::eval, events, IPC, updater and custom protocol request handlers behind the tracing feature flag.
  • cb640c8e(#8393) Fix RunEvent::WindowEvent(event: WindowEvent::FileDrop(FileDropEvent)) never triggered and always prevent default OS behavior when disable_file_drop_handler is not used.
  • Upgraded to tauri-runtime-wry@1.0.0-alpha.9
  • Upgraded to tauri-utils@2.0.0-alpha.13
  • Upgraded to tauri-runtime@1.0.0-alpha.8
  • Upgraded to tauri-macros@2.0.0-alpha.13
  • Upgraded to tauri-build@2.0.0-alpha.14
  • 2032228c(#8430) Removed GlobalWindowEvent struct, and unpacked its field to be passed directly to tauri::Builder::on_window_event.
  • 27bad32d(#7798) Add files object on the tauri > bundle > macOS configuration option.
  • 0ec28c39(#8529) Include tauri-build on the migration script.
  • 4f73057e(#8486) Prevent Invalid target triple warnings and correctly set TAURI_ENV_ vars when target triple contains 4 components.
  • Upgraded to tauri-bundler@2.0.0-alpha.14
  • Upgraded to tauri-utils@2.0.0-alpha.13
  • 4f73057e(#8486) Removed TAURI_ENV_PLATFORM_TYPE which will not be set for CLI hook commands anymore, use TAURI_ENV_PLATFORM instead. Also Changed value of TAURI_ENV_PLATFORM and TAURI_ENV_ARCH values to match the target triple more accurately:

    • darwin and androideabi are no longer replaced with macos and android in TAURI_ENV_PLATFORM.
    • i686 and i586 are no longer replaced with x86 in TAURI_ENV_ARCH.
Dec 19, 2023
  • Upgraded to tauri-utils@2.0.0-alpha.12
  • Upgraded to tauri-runtime@1.0.0-alpha.7
  • Upgraded to tauri-runtime-wry@1.0.0-alpha.8
  • Upgraded to tauri-macros@2.0.0-alpha.12
  • Upgraded to tauri-build@2.0.0-alpha.13
  • Upgraded to tauri-utils@2.0.0-alpha.12
  • Upgraded to tauri-bundler@2.0.0-alpha.13
Dec 19, 2023
  • b59f2f54(#8432) Expose scope::fs::Scope::new.
  • bf095df5(#8276) Exposed Manager::resources_table to access the resources table used by tauri, which could be used by plugins or app authors to store their resources and retrieve it later using an id and can be used to create Rust-backed resources in JS.
  • 5848b4e8(#8386) Fixed the deserialisation of a Channel in iOS.
  • 11a1529d(#8419) Include CORS header on custom protocol response errors to ensure frontend can read the error message.
  • db127777(#8380) Added test::get_ipc_response.
  • effe5871(#8420) Fixes file scope checks on Android.
  • f98ce5aa(#8328) Fix incorrect menu item for PredefinedMenuItem::close_window
  • 803c3a79(#8327) Read the following env vars when using the tauri signer sign command to make it easier to use in CI.

    • TAURI_PRIVATE_KEY
    • TAURI_PRIVATE_KEY_PASSWORD
    • TAURI_PRIVATE_KEY_PATH
Nov 20, 2023
  • b5f40ae5(#8147) Fixes global events not reaching to window listeners.
  • Upgraded to tauri-macros@2.0.0-alpha.11
  • Upgraded to tauri-build@2.0.0-alpha.12
  • Upgraded to tauri-utils@2.0.0-alpha.11
  • Upgraded to tauri-runtime@1.0.0-alpha.5
  • Upgraded to tauri-runtime-wry@1.0.0-alpha.6
  • 50f7ccbb(#6444) Add suport to SVG input image for the tauri icon command.
  • 25e5f91d(#8200) Merge src-tauri/Info.plist and src-tauri/Info.ios.plist with the iOS project plist file.
  • 01a7a983(#8128) Transform paths to relative to the mobile project for the IDE script runner script.
  • 88dac86f(#8149) Ensure tauri add prints rust_code with plugin name in snake case.
  • 977d0e52(#8202) Fixes android build --open and ios build --open IDE failing to read CLI options.
  • bfbbefdb(#8161) Fix invalid plugin template.
  • 92b50a3a(#8209) Added support to Xcode's archive. This requires regenerating the Xcode project.
  • Upgraded to tauri-bundler@2.0.0-alpha.12
  • Upgraded to tauri-utils@2.0.0-alpha.11
Oct 28, 2023
  • b89de9fa(#8092) Add support for onResume and onPause events in android plugins.
  • c6c59cf2 Pull changes from Tauri 1.5 release.
  • 198abe3c(#8076) Mobile plugins can now resolve using an arbitrary object instead of using the JSObject class via Invoke.resolve on iOS and Invoke.resolveObject on Android.
  • 22f26882(#8049) Prevent crash on iOS when the Swift plugin data is not a valid JSON string.
  • Upgraded to tauri-build@2.0.0-alpha.11
  • Upgraded to tauri-macros@2.0.0-alpha.10
  • Upgraded to tauri-utils@2.0.0-alpha.10
  • Upgraded to tauri-runtime@1.0.0-alpha.4
  • Upgraded to tauri-runtime-wry@1.0.0-alpha.5
  • 9580df1d(#8084) Upgrade gtk to 0.18.
  • c7c2507d(#8035) Update windows to version 0.51 and webview2-com to version 0.27
  • 9580df1d(#8084) Updated to wry@0.34, removing the dox feature flag.
  • 198abe3c(#8076) The Android PluginManager.loadConfig now takes a third parameter to define the class type of the config object.

  • 198abe3c(#8076) Mobile plugins now have access to a parser for the invoke arguments instead of relying on the Invoke#get${TYPE} methods.

  • 74d2464d(#8116) Added WindowBuilder::on_page_load and refactored the Builder::on_page_load handler to take references. The page load hook is now triggered for load started and finished events, to determine what triggered it see PageLoadPayload::event.

  • 93c8a77b(#7996) The event system APIS on Rust is recieving a few changes for consistency and quality of life improvements:

    • Renamed Manager::emit_all to just Manager::emit and will now both trigger the events on JS side as well as Rust.
    • Removed Manager::trigger_global, use Manager::emit
    • Added Manager::emit_filter.
    • Removed Window::emit, and moved the implementation to Manager::emit.
    • Removed Window::emit_and_trigger and Window::trigger, use Window::emit instead.
    • Changed Window::emit_to to only trigger the target window listeners so it won't be catched by Manager::listen_global
  • c6c59cf2 Pull changes from Tauri 1.5 release.
  • Upgraded to tauri-bundler@2.0.0-alpha.11
  • Upgraded to tauri-utils@2.0.0-alpha.10
  • 198abe3c(#8076) Updated the mobile plugin templates following the tauri v2.0.0-alpha.17 changes.
Oct 19, 2023
  • c085adda(#8009) Added set_progress_bar to Window.
  • c1ec0f15(#7933) Added Window::set_always_on_bottom and the always_on_bottom option when creating a window.
  • 880266a7(#8031) Bump the MSRV to 1.70.
  • ed32257d(#7794) On Windows, add Effect::Tabbed,Effect::TabbedDark and Effect::TabbedLight effects.
  • Upgraded to tauri-runtime@1.0.0-alpha.3
  • Upgraded to tauri-runtime-wry@1.0.0-alpha.4
  • Upgraded to tauri-utils@2.0.0-alpha.9
  • Upgraded to tauri-build@2.0.0-alpha.10
  • Upgraded to tauri-macros@2.0.0-alpha.9
  • a63e71f9(#7942) The initialization script for Builder::invoke_system now must initialize the window.__TAURI_INTERNALS__.postMessage function instead of window.__TAURI_POST_MESSAGE__.

  • 12b8d18b(#7875) - Removed tauri::path::Error and added its variants to tauri::Error

    • Removed tauri::path::Result and tauri::plugin::Result aliases, you should use tauri::Result or your own Result type.
  • 8b166e9b(#7949) Changed TAURI_AUTOMATION to TAURI_WEBVIEW_AUTOMATION

  • 2558fab8(#7939) This release contains a number of breaking changes to improve the consistency of tauri internals and the public facing APIs and simplifying the types where applicable:

    • Removed EventHandler type.
    • Added EventId type
    • Changed Manager::listen_global and Window::listen to return the new EventId type instead of EventHandler.
    • Removed the return type of Manager::once_global and Window::once
    • Changed Manager::unlisten and Window::unlisten to take he new EventId type.
    • Added tauri::scope::ScopeEventId
    • Changed FsScope::listen to return the new ScopeEventId instead of Uuid.
    • Added FsScope::unlisten
  • 8b166e9b(#7949) Add --no-dev-server-wait option to skip waiting for the dev server to start when using tauri dev.
  • 880266a7(#8031) Bump the MSRV to 1.70.
  • Upgraded to tauri-utils@2.0.0-alpha.9
  • Upgraded to tauri-bundler@2.0.0-alpha.10
  • 8b166e9b(#7949) Changed a number of environment variables used by tauri CLI for consistency and clarity:

    • TAURI_PRIVATE_KEY -> TAURI_SIGNING_PRIVATE_KEY
    • TAURI_KEY_PASSWORD -> TAURI_SIGNING_PRIVATE_KEY_PASSWORD
    • TAURI_SKIP_DEVSERVER_CHECK -> TAURI_CLI_NO_DEV_SERVER_WAIT
    • TAURI_DEV_SERVER_PORT -> TAURI_CLI_PORT
    • TAURI_PATH_DEPTH -> TAURI_CLI_CONFIG_DEPTH
    • TAURI_FIPS_COMPLIANT -> TAURI_BUNDLER_WIX_FIPS_COMPLIANT
    • TAURI_DEV_WATCHER_IGNORE_FILE -> TAURI_CLI_WATCHER_IGNORE_FILENAME
    • TAURI_TRAY -> TAURI_LINUX_AYATANA_APPINDICATOR
    • TAURI_APPLE_DEVELOPMENT_TEAM -> APPLE_DEVELOPMENT_TEAM
  • 4caa1cca(#7990) The tauri plugin subcommand is receving a couple of consitency and quality of life improvements:

    • Renamed tauri plugin android/ios add command to tauri plugin android/ios init to match the tauri plugin init command.
    • Removed the -n/--name argument from the tauri plugin init, tauri plugin android/ios init, and is now parsed from the first positional argument.
    • Added tauri plugin new to create a plugin in a new directory.
    • Changed tauri plugin init to initalize a plugin in an existing directory (defaults to current directory) instead of creating a new one.
    • Changed tauri plugin init to NOT generate mobile projects by default, you can opt-in to generate them using --android and --ios flags or --mobile flag or initalize them later using tauri plugin android/ios init.
  • 8b166e9b(#7949) Removed checking for a new version of the CLI.

  • ebcc21e4(#8057) Renamed the beforeDevCommand, beforeBuildCommand and beforeBundleCommand hooks environment variables from TAURI_PLATFORM, TAURI_ARCH, TAURI_FAMILY, TAURI_PLATFORM_VERSION, TAURI_PLATFORM_TYPE and TAURI_DEBUG to TAURI_ENV_PLATFORM, TAURI_ENV_ARCH, TAURI_ENV_FAMILY, TAURI_ENV_PLATFORM_VERSION, TAURI_ENV_PLATFORM_TYPE and TAURI_ENV_DEBUG to differentiate the prefix with other CLI environment variables.

Oct 8, 2023
  • b597aa5f(#7871) Set main as the default id for the tray icon registered from the configuration file, so if the id is not specified, it can be retrieved using app.tray_by_id("main").
  • a2021c30(#7866) Changed IconMenuItem::set_native_icon signature to take &self instead of &mut self to fix compilation error on macos.
  • a68ccaf5(#7822) Fix asset protocol failing to fetch files.
  • 6fbd6dba(#17) Fix the validation of std::env::current_exe warn the user if AppImage is not mounted instead of panicking
  • Upgraded to tauri-macros@2.0.0-alpha.8
  • Upgraded to tauri-utils@2.0.0-alpha.8
  • Upgraded to tauri-build@2.0.0-alpha.9
  • Upgraded to tauri-runtime@1.0.0-alpha.2
  • Upgraded to tauri-runtime-wry@1.0.0-alpha.3
  • 092a561c(#7874) Removed tauri::api module as most apis have been moved to either a plugin or we recommend using other crates.

  • deea9436(#7876) Changed Env.args to Env.args_os and now uses OsString instead of String

  • b7fd88e1(#7944) tauri::scope module is recieving a couple of consistency changes:

    • Added tauri::scope::fs module.
    • Removed scope::IpcScope re-export, use scope::ipc::Scope.
    • Removed FsScope, GlobPattern and FsScopeEvent, use scope::fs::Scope, scope::fs::Pattern and scope::fs::Event respectively.
  • c0d03af4(#7943) Changed TrayIconBuilder/TrayIcon::on_tray_event to TrayIconBuilder/TrayIcon::on_tray_icon_event for consistency of naming.

  • b2f17723(#7971) Use devicectl to connect to iOS 17+ devices on macOS 14+.
  • 100d9ede(#7802) Properly read platform-specific configuration files for mobile targets.
  • 228e5a4c(#7902) Fixes icon command not writing files to the correct Android project folders.
  • Upgraded to tauri-utils@2.0.0-alpha.8
  • Upgraded to tauri-bundler@2.0.0-alpha.9
Sep 11, 2023
  • Upgraded to tauri-runtime-wry@1.0.0-alpha.2
  • d5074af5(#7801) The custom protocol on Android now uses the http scheme instead of https.
  • 97e33412(#8534) mockIPC and mockWindows no longer crash if window.__TAURI_INTERNALS__ is undefined.
  • d5074af5(#7801) The custom protocol on Android now uses the http scheme instead of https.
Sep 8, 2023
  • 4cb51a2d(#7779) The custom protocol on Windows now uses the http scheme instead of https.
  • 428ea652(#8370) Exposed Resource class which should be extended for Rust-backed resources created through tauri::Manager::resources_table.
  • ef21b681(#8391) Fix a regression where typescript could not find types when using "moduleResolution": "node"
  • 46451aee(#8268) Add top-level main, module and types fields in package.json to be compliant with typescripts's "moduleResolution": "node"
  • c2ad4d28(#8273) Changed former tauri module from primitives to core.
  • 4cb51a2d(#7779) The custom protocol on Windows now uses the http scheme instead of https.
  • 974e38b4(#7744) Renamed the plugin add command to add.
Sep 6, 2023
  • 8a676617(#7618) Ensure Builder is Send by requiring the menu closure to be Send.
  • 0d63732b(#7754) Added Builder::register_asynchronous_uri_scheme_protocol to allow resolving a custom URI scheme protocol request asynchronously to prevent blocking the main thread.
  • 0d63732b(#7754) Fixes invalid header value type when requesting IPC body through a channel.
  • e98393e4(#7673) No longer unpacking and flattening the payload over the IPC so that commands with arguments called cmd, callback, error, options or payload aren't breaking the IPC.
  • 29818de6(#7662) Fixes IPC failing to communicate for remote URLs on macOS and iOS.
  • 6177150b(#7601) Changed FileDropEvent to include drop and hover position.
  • Upgraded to tauri-runtime@1.0.0-alpha.1
  • Upgraded to tauri-runtime-wry@1.0.0-alpha.1
  • 0d63732b(#7754) Changed Builder::register_uri_scheme_protocol to return a http::Response instead of Result<http::Response>. To return an error response, manually create a response with status code >= 400.
  • 0d63732b(#7754) tauri-runtime no longer implements its own HTTP types and relies on the http crate instead.
  • 0d63732b(#7754) Changed Builder::invoke_system to take references instead of owned values.
  • 5c95152c(#7621) Changed MenuBuilder\SubmenuBuilder::text, MenuBuilder\SubmenuBuilder::check, MenuBuilder\SubmenuBuilder::icon and MenuBuilder\SubmenuBuilder::native_icon to take an id as the first argument.
  • 0d63732b(#7754) Changed Window::on_message signature to take a responder closure instead of returning the response object in order to asynchronously process the request.
  • f93148ea(#7709) Add tray and menu modules to create and manage tray icons and menus from Javascript.
  • b7add750(#8204) Added position field to the FileDropEvent payload.
  • b75a1210(#7762) Fixes a regression on alpha.11 where iOS logs aren't being displayed when using ios dev with a real device.
  • 8faa5a4a(#7765) Ensure asset directory exists on the iOS project.
  • Upgraded to tauri-bundler@2.0.0-alpha.8
Aug 14, 2023
  • 4db363a0(#6589) Added visible_on_all_workspaces configuration option to WindowBuilder, Window, and WindowConfig.
  • 84c41597(#6394) Add App::primary_monitor, App::available_monitors, AppHandle::primary_monitor, and AppHandle::available_monitors
  • 2a000e15(#7235) Added Window::navigate.
  • 3b98141a(#3736) Added support to file associations.
  • 3a2c3e74(#7306) Added PluginBuilder::on_navigation. Added Plugin::on_navigation.
  • 753900dd(#7440) Expose RunEvent::Opened on macOS and iOS for deep link support.
  • 7fb419c3(#7535) Add App::cleanup_before_exit and AppHandle::cleanup_before_exit to manually call the cleanup logic. You should always exit the tauri app immediately after this function returns and not use any tauri-related APIs.
  • 7fb419c3(#7535) On Linux, add Window::default_vbox to get a reference to the gtk::Box that contains the menu bar and the webview.
  • 7fb419c3(#7535) Add linux-libxdo feature flag (disabled by default) to enable linking to libxdo which is used to make Cut, Copy, Paste and SelectAll native menu items work on Linux.
  • 7fb419c3(#7535) On macOS, add Window::ns_view to get a pointer to the NSWindow content view.
  • 7fb419c3(#7535) Expose run_on_main_thread method on App that is similar to AppHandle::run_on_main_thread.
  • a5752db9(#7436) Listen to onNewIntent and forward it to registered plugins.
  • fbeb5b91(#7170) Added Channel::new allowing communication from a mobile plugin with Rust.
  • fbeb5b91(#7170) Use custom protocols on the IPC implementation to enhance performance.
  • Upgraded to tauri-runtime@1.0.0-alpha.0
  • Upgraded to tauri-utils@2.0.0-alpha.7
  • Upgraded to tauri-macros@2.0.0-alpha.7
  • Upgraded to tauri-runtime-wry@1.0.0-alpha.0
  • Upgraded to tauri-build@2.0.0-alpha.7
  • d1a6e2f3(#7252) Update state to v0.6.
  • fd5dc788(#7352) - Removed tauri::api::file and tauri::api::dir modules, use std::fs instead.

    • Removed tauri::api::version module, use semver crate instead.
  • fbeb5b91(#7170) Moved tauri::api::ipc to tauri::ipc and refactored all types.

  • fbeb5b91(#7170) Removed the linux-protocol-headers feature (now always enabled) and added linux-ipc-protocol.

  • 7fb419c3(#7535) Changed App::handle and Manager::app_handle to return a reference to an AppHandle instead of an owned value.

  • 7fb419c3(#7535) The tray icon and menu have received a huge refactor with a lot of breaking changes in order to add new functionalities and improve the DX around using them and here is an overview of the changes:

    • All menu and tray types are now exported from tauri::menu and tauri::tray modules with new names so make sure to check the new types.
    • Removed tauri::Builder::system_tray, instead you should use tauri::tray::TrayIconBuilder inside tauri::Builder::setup hook to create your tray icons.
    • Changed tauri::Builder::menu to be a function to accommodate for new menu changes, you can passe tauri::menu::Menu::default to it to create a default menu.
    • Renamed tauri::Context methods system_tray_icon, tauri::Context::system_tray_icon_mut and tauri::Context::set_system_tray_icon to tauri::Context::tray_icon, tauri::Context::tray_icon_mut and tauri::Context::set_tray_icon to be consistent with new type names.
    • Added RunEvent::MenuEvent and RunEvent::TrayIconEvent.
    • Added App/AppHandle::set_menu, App/AppHandle::remove_menu, App/AppHandle::show_menu, App/AppHandle::hide_menu and App/AppHandle::menu to access, remove, hide or show the app-wide menu that is used as the global menu on macOS and on all windows that don't have a specific menu set for it on Windows and Linux.
    • Added Window::set_menu, Window::remove_menu, Window::show_menu, Window::hide_menu, Window::is_menu_visible and Window::menu to access, remove, hide or show the menu on this window.
    • Added Window::popup_menu and Window::popup_menu_at to show a context menu on the window at the cursor position or at a specific position. You can also popup a context menu using popup and popup_at methods from ContextMenu trait which is implemented for Menu and Submenu types.
    • Added App/AppHandle::tray, App/AppHandle::tray_by_id, App/AppHandle::remove_tray and App/AppHandle::remove_tray_by_id to access or remove a registered tray.
    • Added WindowBuilder/App/AppHandle::on_menu_event to register a new menu event handler.
    • Added App/AppHandle::on_tray_icon_event to register a new tray event handler.
  • 7fb419c3(#7535) Renamed system-tray feature flag to tray-icon.

  • 3a2c3e74(#7306) The Window#on_navigation closure now receives a &Url argument instead of Url.

  • 822bf15d(#8130) Fix tslib missing in the distributed api package.
  • 522de0e7(#7447) Expose an environment variable TAURI_${PLUGIN_NAME}_PLUGIN_CONFIG for each defined plugin configuration object.
  • c7dacca4(#7446) Expose the TAURI_IOS_PROJECT_PATH and TAURI_IOS_APP_NAME environment variables when using ios commands.
  • aa94f719(#7445) Generate empty entitlements file for the iOS project.
  • d010bc07(#7554) Set the iOS project PRODUCT_NAME value to the string under tauri.conf.json > package > productName if it is set.
  • 8af24974(#7561) The migrate command now automatically reads all JavaScript files and updates @tauri-apps/api import paths and install the missing plugins.
  • fbeb5b91(#7170) Update migrate command to update the configuration CSP to include ipc: on the connect-src directive, needed by the new IPC using custom protocols.
  • 5eb85543(#7282) Fix tauri info failing when there is no available iOS code signing certificate.
  • Upgraded to tauri-utils@2.0.0-alpha.7
  • Upgraded to tauri-bundler@2.0.0-alpha.7
Jun 17, 2023
  • f2d68cf7(#6767) Add incognito option to the window configuration object.
  • f2d68cf7(#6767) Add WindowBuilder::incognito
  • e0f0dce2(#6442) Added the window_effects option when creating a window and Window::set_effects to change it at runtime.
  • c6c59cf2 Pull changes from Tauri 1.5 release.
  • 287066b2(#8071) No longer crashing in tests without mocks when clearMocks is defined in afterEach hook.
  • aa6c9164(#7007) Don't build library files when building desktop targets.
  • a28fdf7e(#7044) Skip Rust target installation if they are already installed.
  • 735db1ce(#7044) Add --skip-targets-install flag for tauri android init and tauri ios init to skip installing needed rust targets vie rustup.
  • 3f4c4ce8(#7028) Fix --split-per-abi not building any targets unless specified by --target flag.
  • 1ed2600d(#6771) Set current directory to tauri directory before reading config file.
  • 4847b87b(#7209) Fix tauri (android|ios) (dev|build) failing when using npx tauri
  • 655c714e(#7240) Fixes panic when exiting the ios dev command with Ctrl + C.
  • 6252380f(#7241) Exit beforeDevCommand process if the android or iOS dev command fails.
May 18, 2023
  • 256c30c7(#6863) Enhance parsing of annotated Android plugin methods to support private functions.
  • 73c803a5(#6837) Added static function loadConfig on the Android PluginManager class.
  • edb16d13(#6831) Adjust Android plugin exception error.
  • 0ab5f40d(#6813) Add channel API for sending data across the IPC.
  • 31444ac1(#6725) On Android, update proguard rules.
  • 8ce32e74(#6986) Add default_window_icon getter on App and AppHandle.
  • 2a5175a8(#6779) Enhance Android's JSObject return types.
  • bb2a8ccf(#6830) Use actual iOS plugin instance to run command with throws.
  • 94224906(#6783) Generate TauriActivity Kotlin class on the build script.
  • 7a4b1fb9(#6839) Added support to attibutes for each command path in the generate_handler macro.
  • 9a79dc08(#6947) Remove enable_tauri_api from the IPC scope.
  • dfa407ff(#6763) Expose plugin configuration on the Android and iOS plugin classes.
  • 3245d14b(#6895) Moved the app feature to its own plugin in the plugins-workspace repository.
  • 09376af5(#6704) Moved the cli feature to its own plugin in the plugins-workspace repository.
  • 2d5378bf(#6717) Moved the dialog APIs to its own plugin in the plugins-workspace repository.
  • 39f1b04f(#6943) Moved the event JS APIs to a plugin.
  • fc4d687e(#6716) Moved the file system APIs to its own plugin in the plugins-workspace repository.
  • f78a3783(#6742) Moved the http feature to its own plugin in the plugins-workspace repository.
  • 29ce9ce2(#6902) Moved the os feature to its own plugin in the plugins-workspace repository.
  • 60cf9ed2(#6905) Moved the process feature to its own plugin in the plugins-workspace repository.
  • e1e85dc2(#6925) Moved the protocol scope configuration to the asset_protocol field in SecurityConfig.
  • 96639ca2(#6749) Moved the shell functionality to its own plugin in the plugins-workspace repository.
  • e1e85dc2(#6925) Moved the updater configuration to the BundleConfig.
  • b072daa3(#6919) Moved the updater feature to its own plugin in the plugins-workspace repository.
  • 3188f376(#6883) Bump the MSRV to 1.65.
  • d693e526(#6780) Added the onNewIntent Plugin hook on Android.
  • 34b8f339(#6705) Add app method for the PluginApi struct.
  • 96639ca2(#6749) Moved the tauri::api::process module to tauri::process.
  • cdad6e08(#6774) Changed how the tauri-android dependency is injected. This requires the gen/android project to be recreated.
  • e1e85dc2(#6925) Removed the allowlist configuration.
  • cebd7526(#6728) Moved the clipboard feature to its own plugin in the plugins-workspace repository.
  • e1e85dc2(#6925) Removed extract and move APIs from tauri::api::file.
  • 3f17ee82(#6737) Moved the global-shortcut feature to its own plugin in the plugins-workspace repository.
  • ae102980(#6719) Refactor the Context conditional fields and only parse the tray icon on desktop.
  • 2d5378bf(#6717) Remove the updater's dialog option.
  • e1e85dc2(#6925) Removed UpdaterEvent. See tauri-plugin-updater for new usage.
  • 9a79dc08(#6947) Moved the window JS APIs to its own plugin in the plugins-workspace repository.
  • 22a76338(#6713) Expose SafePathBuf type in tauri::path.
  • c4171152(#6909) Enable shadows by default.
  • dfa407ff(#6763) Change iOS plugin init function signature to func init_plugin() -> Plugin.
  • c1ec0f15(#7933) Added setAlwaysOnBottom function on Window and the alwaysOnBottom option when creating a window.
  • fb10b879(#8039) Add the app module back.
  • ed32257d(#7794) On Windows, add Effect.Tabbed,Effect.TabbedDark and Effect.TabbedLight effects.
  • c9a9246c(#8007) Add the window module back.
  • c085adda(#8009) Added the setProgressBar API on the Window class.
  • a63e71f9(#7942) Changed tauri module to primitives and removed the undocumented invoke export from the root module.
  • 19cd0e49(#6811) Add key.properties file to android's .gitignore.
  • 124d5c5a(#6788) On mobile, fix regression introduced in tauri-cli version 2.0.0-alpha.3 where library not found error was thrown.
  • 31444ac1(#6725) Update mobile template to wry@0.28
  • 6d1fa49f(#6881) Clear Android plugin JSON file before building Rust library to ensure removed plugins are propagated to the Android project.
  • 5a9307d1(#6890) Update android template to gradle 8.0
  • 73c803a5(#6837) Inject Tauri configuration in the Android assets.
  • e1e85dc2(#6925) Moved the updater configuration to the BundleConfig.
  • 3188f376(#6883) Bump the MSRV to 1.65.
  • 2969d1cb(#6773) Use absolute path to each Android plugin project instead of copying the files to enhance developer experience.
  • d48aaa15(#6894) Add Cargo manifest files for the plugin example templates.
  • e1e85dc2(#6925) Removed the allowlist configuration.
  • 41f49aea(#6659) Update tauri-mobile to fix running ADB scripts.
Apr 13, 2023
  • Fixes boolean plugin parameters freezing the application.
    • 9de89791 fix(core): iOS plugin freezing when receiving a bool parameter (#6700) on 2023-04-13
  • d5074af5(#7801) The custom protocol on Android now uses the http scheme instead of https.
  • Do not gitignore the Android project's buildSrc folder by default since we removed absolute paths from it.
    • ee2d3b97 fix(cli): remove buildSrc from Android project gitignored paths (#6702) on 2023-04-13
  • Fixes iOS build script using the wrong path for the app library file.
    • abc5f91f fix(cli): iOS Xcode script using incorrect library path (#6699) on 2023-04-13
Apr 10, 2023
  • Change minimum Android SDK version to 21 for the plugin library.
    • db4c9dc6 feat(core): add option to configure Android's minimum SDK version (#6651) on 2023-04-07
  • Improve the run_mobile_plugin function error handling.
    • f0570d9f feat(core): improve run_mobile_plugin error handling (#6655) on 2023-04-07
  • Implement Clone for plugin::PluginHandle.
    • 052c5822 feat(core): implement Clone for PluginHandle (#6644) on 2023-04-05
  • 4cb51a2d(#7779) The custom protocol on Windows now uses the http scheme instead of https.
  • Add --release flag for tauri android dev however you will need to sign your Android app, see https://next--tauri.netlify.app/next/guides/distribution/sign-android
    • 63f088e5 feat(cli): add --release for android dev (#6638) on 2023-04-05
  • Build only specified rust targets for tauri android build instead of all.
    • d03e47d1 fix: only build specified rust targets for aab/apk build (#6625) on 2023-04-05
  • Use local ip address for built-in dev server on mobile.
    • 7fec0f08 fix(cli): use local ip addr for built-in server on mobile, closes #6454 (#6631) on 2023-04-04
  • Change minimum Android SDK version to 21 for the plugin library.
    • db4c9dc6 feat(core): add option to configure Android's minimum SDK version (#6651) on 2023-04-07
  • Readd the Cargo.toml file to the plugin template.
    • 5288a386 fix(cli): readd Cargo.toml to the plugin template (#6637) on 2023-04-04
Apr 3, 2023
  • Fix compilation issues without the shell API features.
    • a8137927 fix(core): compilation issues without execute or sidecar features (#6621) on 2023-04-03
  • 4af5c5a8(#7170) Change the IPC call to align with the new format for the custom protocol based API.
  • Use Ubuntu 20.04 to compile the CLI for cargo-binstall, increasing the minimum libc required.
  • Automatically enable the rustls-tls tauri feature on mobile and native-tls on desktop if rustls-tls is not enabled.
    • cfdee00f refactor(core): fix tls features, use rustls on mobile (#6591) on 2023-03-30
  • Use Ubuntu 20.04 to compile the CLI, increasing the minimum libc version required.
Mar 29, 2023
  • Fixes ProGuard rules.
    • adf4627b fix(core): adjust ProGuard rules (#6588) on 2023-03-31
  • Added raw encoding option to read stdout and stderr raw bytes.
    • f992e7f5 chore(changes): readd change file on 2023-04-03
  • Renamed the default-tls feature to native-tls and added rustls-tls feature.
    • cfdee00f refactor(core): fix tls features, use rustls on mobile (#6591) on 2023-03-30
  • e0f0dce2(#6442) Added the windowEffects option when creating a window and setWindowEffects method to change it at runtime.
  • 9e3a18e0(#7132) Expose the window target option on event APIs.
  • 6d3f3138(#7160) Changed sep and delimiter from path module into functions to fix import in frameworks like next.js
  • 4652c446(#7144) Add tempDir function to path module
  • Fixes the iOS project script to build the Rust library.
    • 6e3e4c22 fix(cli): use correct variable on script to build Rust iOS code (#6581) on 2023-03-29
  • Fix tauri android build/dev crashing when used with standalone pnpm executable on Windows.
    • 39df2c98 fix(cli/android): fallback to ${program}.cmd (#6576) on 2023-03-29
  • 6b469c40 chore(changes): adjust change file for Android script execution fix on 2023-03-29
Mar 20, 2023
  • Allow a wry plugin to be registered at runtime.
    • ae296f3d refactor(tauri-runtime-wry): register runtime plugin after run() (#6478) on 2023-03-17
  • Inject proguard-tauri.pro file in the Android project.
    • bef4ef51 feat(android): enable minify on release, add proguard rules (#6257) on 2023-02-13
  • Return bool in the invoke handler.
    • 05dad087 feat: initial work for iOS plugins (#6205) on 2023-02-11
  • Use correct lib name in xcode project.
    • d1752fb1 fix(cli): use correct lib name in xcode project (#6387) on 2023-03-08
  • Run Android and iOS native plugins on the invoke handler if a Rust plugin command is not found.
    • 05dad087 feat: initial work for iOS plugins (#6205) on 2023-02-11
  • Added initialize_android_plugin and initialize_ios_plugin APIs on AppHandle.
    • 05dad087 feat: initial work for iOS plugins (#6205) on 2023-02-11
  • Changed the plugin setup hook to take a second argument of type PluginApi.
    • 6aaba834 refactor(plugin): add PluginApi and PluginHandle, expose on setup hook (#6291) on 2023-02-16
  • Refactored the implementation of the mobile_entry_point macro.
    • 9feab904 feat(core): add API to call Android plugin (#6239) on 2023-02-10
  • Removed the attohttpc client. The reqwest-* Cargo features were also removed.
  • Added App::run_mobile_plugin and AppHandle::run_mobile_plugin.
    • bfb2ab24 feat: add API to call iOS plugin (#6242) on 2023-02-11
  • Added the shadow option when creating a window and Window::set_shadow.
  • Implemented with_webview on Android and iOS.
    • 05dad087 feat: initial work for iOS plugins (#6205) on 2023-02-11
  • 0ab5f40d(#6813) Add channel API for sending data across the IPC.
  • 3245d14b(#6895) Moved the app feature to its own plugin in the plugins-workspace repository.
  • 09376af5(#6704) Moved the cli feature to its own plugin in the plugins-workspace repository.
  • 2d5378bf(#6717) Moved the dialog APIs to its own plugin in the plugins-workspace repository.
  • 39f1b04f(#6943) Moved the event JS APIs to a plugin.
  • fc4d687e(#6716) Moved the file system APIs to its own plugin in the plugins-workspace repository.
  • f78a3783(#6742) Moved the http feature to its own plugin in the plugins-workspace repository.
  • 29ce9ce2(#6902) Moved the os feature to its own plugin in the plugins-workspace repository.
  • 60cf9ed2(#6905) Moved the process feature to its own plugin in the plugins-workspace repository.
  • 96639ca2(#6749) Moved the shell functionality to its own plugin in the plugins-workspace repository.
  • b072daa3(#6919) Moved the updater feature to its own plugin in the plugins-workspace repository.
  • cebd7526(#6728) Moved the clipboard feature to its own plugin in the plugins-workspace repository.
  • 3f17ee82(#6737) Moved the global-shortcut feature to its own plugin in the plugins-workspace repository.
  • 9a79dc08(#6947) Moved the window JS APIs to its own plugin in the plugins-workspace repository.
  • Fix android project build crashing when using pnpm caused by extra --.
    • c787f749 fix(cli): only add -- to generated android template for npm (#6508) on 2023-03-21
  • Fixes the Android build gradle plugin implementation on Windows.
    • 00241fa9 fix(cli): append .cmd on the gradle plugin binary on Windows, fix #6502 (#6503) on 2023-03-21
  • Update napi-rs dependencies to latest to fix CLI hanging up forever.
  • d5ac76b5 chore(deps): update napi-rs, closes #6502 (#6513) on 2023-03-21
Feb 2, 2023
  • Update gtk to 0.16.
  • Show all application logs on iOS.
    • dee9460f feat: keep CLI alive when iOS app exits, show logs, closes #5855 (#5902) on 2022-12-27
  • Bump the MSRV to 1.64.
  • Only proxy the dev server on mobile to simplify desktop usage.
    • 78eaadae refactor(core): only proxy on mobile (#6126) on 2023-01-23
  • Removed mobile logging initialization, which will be handled by tauri-plugin-log.
    • on undefined
  • Update rfd to 0.11.
    • f0a1d9cd chore: update rfd and wry versions (#6174) on 2023-02-03
  • Overload the dialog open function to have better TS result types.
    • 1eacd51d overloaded the open function for convenient type inference (#5619) on 2023-04-07
  • Added plugin android add and plugin ios add commands to add mobile plugin functionality to existing projects.
    • 14d03d42 refactor(cli): enhance plugin commands for mobile (#6289) on 2023-02-16
  • Add --port to specify the port used for static files dev server. It can also be specified through TAURI_DEV_SERVER_PORT env var.
  • Auto select an external IP for mobile development and fallback to prompting the user. Use --force-ip-prompt to force prompting.
    • ec007ef0 feat: use local_ip() and fallback to prompt (#6290) on 2023-02-16
    • 4d090744 feat(cli): add --force-ip-prompt (#6406) on 2023-03-16
  • Add commands to add native Android and iOS functionality to plugins.
    • 05dad087 feat: initial work for iOS plugins (#6205) on 2023-02-11
  • In mobile commands, correctly detect when nodejs binary has the version in its name, for example node-18
    • 58d4709f fix: update nodejs detection in mobile commands (#6451) on 2023-03-16
  • Use temp file instead of environment variable to pass CLI IPC websocket address to the IDE.
    • 894a8d06 refactor(cli): use temp file to communicate IPC websocket address (#6219) on 2023-02-08
  • Change the Android template to enable minification on release and pull ProGuard rules from proguard-tauri.pro.
    • bef4ef51 feat(android): enable minify on release, add proguard rules (#6257) on 2023-02-13
  • Print an error if the Android project was generated with an older bundle identifier or package name.
    • 79eb0542 feat(cli): handle Android package identifier change (#6314) on 2023-02-19
  • Fixes the generated mobile build script when using an NPM runner.
    • 62f15265 fix(cli): generate build script using NPM runner if it was used (#6233) on 2023-02-10
  • Resolve Android package name from single word bundle identifiers.
    • 60a8b07d fix: handle single word bundle identifier when resolving Android domain (#6313) on 2023-02-19
  • Update Android project template with fix to crash on orientation change.
    • 947eb391 fix(android): crash on orientation change due to activity recreation (#6261) on 2023-02-13
  • Added --ios-color option to the tauri icon command.
    • 67755425 feat(cli): add --ios-color option to set iOS icon background color (#6247) on 2023-02-12
  • Fixes HMR on mobile when devPath is configured to load a filesystem path.
    • 4a82da29 fix(cli): use local ip address for reload (#6285) on 2023-02-16
  • Ignore the gen folder on the dev watcher.
    • cab4ff95 fix(cli): ignore the gen folder on the dev watcher (#6232) on 2023-02-09
  • Correctly pass arguments from npm run to tauri.
    • 1b343bd1 fix(cli): use npm run tauri -- foo for correctly passing args to tauri (#6448) on 2023-03-16
  • Changed the --api flag on plugin init to --no-api.
    • 14d03d42 refactor(cli): enhance plugin commands for mobile (#6289) on 2023-02-16
Dec 22, 2022
  • Fix the filesystem scope allowing sub-directories of the directory picked by the dialog when recursive option was false.
    • 9ad0a9a0 Merge pull request from GHSA-6mv3-wm7j-h4w5 on 2022-12-22
  • Added raw encoding option to read stdout and stderr raw bytes.
    • f992e7f5 chore(changes): readd change file on 2023-04-03
  • Removed shell's Command constructor and added the Command.create static function instead.
    • 509d4678 Support sending raw byte data to the "data" event for child command's stdout and stderr (#5789) on 2023-03-31
  • Fixes TAURI_* environment variables for hook scripts on mobile commands.
    • 1af9be90 feat(cli): properly fill target for TAURI_ env vars on mobile (#6116) on 2023-01-23
  • Force colored logs on mobile commands.
    • 2c4a0bbd feat(cli): force colored logs on mobile commands (#5934) on 2022-12-28
  • Keep the process alive even when the iOS application is closed.
    • dee9460f feat: keep CLI alive when iOS app exits, show logs, closes #5855 (#5902) on 2022-12-27
  • Show all application logs on iOS.
    • dee9460f feat: keep CLI alive when iOS app exits, show logs, closes #5855 (#5902) on 2022-12-27
  • Print log output for all tags on Android development.
    • 8cc11149 fix(cli): print Android logs for all tags on 2023-01-17
  • Add support to custom and kebab case library names for mobile apps.
    • 50f6dd87 feat: improvements to support hyphens in crate name (#5989) on 2023-01-06
  • Bump the MSRV to 1.64.
  • Fix target directory detection when compiling for Android.
    • e873bae0 fix(cli): Cargo target dir detection on Android, closes #5865 (#5932) on 2022-12-28
Dec 15, 2022
  • Implement response cache on the dev server proxy, used when the server responds with status 304.
    • 3ad5e72f feat(core): cache dev server proxy responses for 304 status code (#5818) on 2022-12-12
  • Properly proxy dev server requests with query strings and fragments.
    • a9b4cf20 fix(core): use entire request URL on dev server proxy (#5819) on 2022-12-12
  • Added the shadow option when creating a window and setShadow function.
  • Fixes running on device using Xcode 14.
    • 1e4a6758 fix(cli): run on iOS device on Xcode 14 (#5807) on 2022-12-12
  • Improve local IP address detection with user selection.
    • 76204b89 feat(cli): improve local IP detection (#5817) on 2022-12-12
Dec 9, 2022
  • Added the default-tls and reqwest-default-tls Cargo features for enabling TLS suppport to connect over HTTPS.
    • f6f9192a fix(core): Android compilation on Windows (#5658) on 2022-11-20
  • Breaking change: Use the custom protocol as a proxy to the development server on all platforms except Linux.
    • 6f061504 feat(cli): add android dev and ios dev commands (#4982) on 2022-08-20
  • Support with_webview for Android platform alowing execution of JNI code in context.
    • 8ea87e9c feat(android): with_webview access for jni execution (#5148) on 2022-09-08
  • First mobile alpha release!
  • Breaking change: The window creation and setup hook are now called when the event loop is ready.
    • b4622ea4 refactor(app): run setup and window creation when event loop is ready (#4914) on 2022-08-11
  • Export types required by the mobile_entry_point macro.
    • 98904863 feat(core): add mobile_entry_point macro (#4983) on 2022-08-21
  • First mobile alpha release!
  • Added android build command.
    • 4c9ea450 feat(cli): add android build command (#4999) on 2022-08-22
  • Added ios build command.
    • 403859d4 feat(cli): add ios build command (#5002) on 2022-08-22
  • Added android dev and ios dev commands.
    • 6f061504 feat(cli): add android dev and ios dev commands (#4982) on 2022-08-20
  • Added android init and ios init commands.
    • d44f67f7 feat: add android init and ios init commands (#4942) on 2022-08-15
  • Added android open and ios open commands.
    • a9c8e565 feat: add android open and ios open commands (#4946) on 2022-08-15
  • First mobile alpha release!

© 2026 Tauri Contributors. CC-BY / MIT