tauri@1.0.0-rc.0
- The dialog allowlist now includes flags for the
message,askandconfirmAPIs. -
- Breaking change: Renamed
tauri::Eventtotauri::RunEvent
- Breaking change: Renamed
- Exported
tauri::Eventandtauri::EventHandlerso you can define a function and pass it toWindow::listen - 15358b18 Expose event interface. fixes #2733 (#3321) on 2022-02-04
- The
tauri::apimoduleshttp,notification,dialog, andprocess::CommandAPIs are now hidden behind a feature flag,http-api,notification,dialogandcommand, respectively. - Add
titleoption to file open/save dialogs. - Added
any_thread()to thetauri::Builderto run applications on any thread (only exposed on Linux and Windows). - Enable CORS on the
assetprotocol. - The
asset://custom protocol is only defined when either theapi-all,protocol-allorprotocol-assetfeature flags are enabled. These feature flags are accessible with thetauri.conf.jsonallowlist. - Expose the
asset_resolverAPI on theAppandAppHandlestructs. - Breaking change: Refactored the types returned from the
async_runtimemodule. - Added
tauri::async_runtime::setmethod, allowing to share your tokio runtime with Tauri. - Added
tauri::async_runtime::spawn_blockingAPI. - The
callbackanderrorinvoke fields, along with othertransformCallbackusages, are now validated to be numeric. - Change
Error::ParseCliArguments(clap::Error)toError::ParseCliArguments(String)becauseclap::Erroris notSend. - The
api::process::CommandAPIs are now hidden behind thecommandfeature flag. - Add
tauri::api::path::log_dirfunction to access the suggested log directory path. - The
process,pathandupdaterAPIs now takes atauri::Envargument, used to force environment variables load on startup to prevent env var update attacks.- 7209fdf7 refactor(core): load APPIMAGE and APPDIR env vars on startup [TRI-007] [TRI-041] on 2022-01-09
- Now
resolve(),join()andnormalize()from thepathmodule, won’t throw errors if the path doesn’t exist, which matches NodeJS behavior. - Breaking change: Return
WindowonAppandAppHandle’screate_windowfunction. - Apply
noncetoscriptandstyletags and set them on theCSP(script-srcandstyle-srcfetch directives). - The path returned from
tauri::api::process::current_binaryis now cached when loading the binary. - Added an API to use a custom invoke system to receive and respond to commands (
Builder#invoke_system). - Inject configured
CSPondata:URLs. - Emit
tauri://*events to Rust listeners. - Emit
tauri://window-createdevent for windows created on the backend. - Enable non-session cookie persistence on Linux.
- Expose
tauri::api::ipc::{serialize_js_with, serialize_js}functions. - Resolve
assetprotocol HTTP request instead of panicking if the file does not exist or cannot be read. - Avoid
async_runtime::block_onpanics when used along another tokio runtime. - Prevent window closing if
tauri://close-requestedis listened on the JS layer. Users must callappWindow.close()manually when listening to that event. - Fixes a deadlock when creating a window from a menu event handler.
- Fixes the dialog
defaultPathusage on Linux. - Fixes
WindowEvent::FocusandWindowEvent::Blurevents not firing. - Fixes
tauri://focusandtauri://blurevents not firing. - Use webview’s inner_size instead of window’s value to get the correct size on macOS.
- Fixes resource directory resolution on Linux.
- Fixes the menu id mapping not reflecting the current window.
Manager::once_globalandWindow::onceallowFnOncecallbacks.- Properly check if document is loaded before invoking commands.
- Initialize system tray before windows so
tray_handlecan be accessed on command handlers.- dbe0d21b fix(core): initialize system tray before app windows on 2021-08-31
- Reimplement
remove_system_trayon Windows to drop theSystemTrayto run its cleanup code. - Immediately listen to
tauri://window-createdevent to catch it before the application triggers it. - The
tauri::Window#emitfunction now correctly sends the event to all windows that has a registered listener. Breaking change:Window#emit_and_triggerandWindow#emitnow requires the payload to be cloneable. - Allow using a fixed version for the Webview2 runtime via the
tauri > bundle > windows > webviewFixedRuntimePathconfig option. - The updater
pubkeyis now a required field for security reasons. Sign your updates with thetauri signercommand. tauri::api::HttpRequestBuilder::newnow returns aResultto validate the url.- Added the
isolationpattern.- d5d6d2ab Isolation Pattern (#43) Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <wusyong9104@gmail.com> Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app> on 2022-01-17
- Added
abortmethod totauri::async_runtime::JoinHandle. - Adds support for using JSON5 format for the
tauri.conf.jsonfile, along with also supporting the.json5extension.
Here is the logic flow that determines if JSON or JSON5 will be used to parse the config:
- Check if
tauri.conf.jsonexists a. Parse it withserde_jsonb. Parse it withjson5ifserde_jsonfails c. Return originalserde_jsonerror if all above steps failed - Check if
tauri.conf.json5exists a. Parse it withjson5b. Return error if all above steps failed - Return error if all above steps failed
- 995de57a Add seamless support for using JSON5 in the config file (#47) on 2022-02-03
- Allow preventing opening the default browser on a click on an
<a target="_blank">element viastopImmediatePropagation(). - The
run_returnAPI is now available on Linux. - Allow window, global shortcut and clipboard APIs to be called on the main thread.
- Add
Menu::with_itemsconstructor, taking an iterator ofMenuEntry. - The updater now expects signatures created with the latest CLI release.
- Change event loop callbacks definition to allow callers to move in mutable values.
- Fixes
Notification.requestPermission()deadlock.- 48f3768c fix(core):
Notification.requestPermission()deadlock regression on 2021-08-24
- 48f3768c fix(core):
- Added
Window#open_devtoolsAPI. - Add a
plugin::Builderstruct to make plugin creation more convenient. - Added
on_eventon thePlugintrait, which allows a plugin to react to the event loop. - Prevent path traversal on the file system APIs.
- Breaking change: Add
macos-private-apifeature flag, enabled viatauri.conf.json > tauri > macOSPrivateApi. - Add
raw_headerstotauri::api::http::ResponseData. - Implement
raw_window_handle::RawWindowHandlefortauri::WindowonWindowsandmacOS. Thetauri::api::dialog::window_parentfunction was removed since now you can use the window directly. - Refactor
create_tao_windowAPI to returnWeak<Window>instead ofArc<Window>.- c1494b35 refactor: return Weak<Window> on create_tao_window on 2021-08-31
- Added the
tauri::api::dialog::blockingmodule. - The notification endpoint now checks for the permission flag and requests if the value is not set.
- Breaking change: The
WindowEvent::CloseRequestedvariant now includeslabelandsignal_txfields to allow preventing closing the window. - Breaking change: Move
__currentWindowand__windowsvalues fromwindow.__TAURI__towindow.__TAURI_METADATA__. - Remove the
BaseDirectory::Currentenum variant for security reasons.- 696dca58 refactor(core): remove
BaseDirectory::Currentvariant on 2022-01-26
- 696dca58 refactor(core): remove
- Breaking change: Remove default webview window when
tauri.conf.json > tauri > windowsis not set. - Breaking change: Renamed the
rpcmodule toipc. - Expose
run_on_main_threadAPIs onWindowandAppHandle. - The minimum Rust version is now
1.56. - The minimum Rust version is now 1.57.
- d5d6d2ab Isolation Pattern (#43) Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <wusyong9104@gmail.com> Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app> on 2022-01-17
- Scopes the
filesystemAPIs from the webview access usingtauri.conf.json > tauri > allowlist > fs > scope. Scopes theassetprotocol access usingtauri.conf.json > tauri > allowlist > protocol > assetScope. Scopes thehttpAPIs from the webview access usingtauri.conf.json > tauri > allowlist > http > scope. Scopes theshellexecute API from the webview access usingtauri.conf.json > tauri > allowlist > shell > scope. Additionally, check thetauri.conf.json > tauri > bundle > externalBinto prevent access to unknown sidecars. Builder#setupclosure type changed fromFntoFnOnce.- The
tauri::api::shell::open’swithargument is now an enum value instead of any string. - The
shellallowlist now includes asidecarflag, which enables the use of theshellAPI to execute sidecars. - Breaking change: The sidecar’s target triple suffix is now removed at build time.
- Fix streaming of small files using the
assetprotocol. - Add
set_menuAPI ontauri::SystemTrayHandle. - Adds
unlistenfunction to theWindowstruct. - Force updater endpoint URL to use
httpson release builds. - Validate the
std::env::current_exereturn value ifAPPDIRorAPPIMAGEenvironment variables are set. - The event name is now validated. On a IPC message, it returns an error if it fails validation; on the Rust side, it panics.
It must include only alphanumeric characters,
-,/,:and_. - The window label is now validated and must be alphanumeric, resulting in a panic if it isn’t.
- Allow
tauri.conf.json > package > versionto specify a path to apackage.jsonfile and pull the version from it. - Added
clipboardfield on theWebviewAttributesstruct, which must be set totrueto enable clipboard access on the webview. - Replace all of the
winapicrate references with thewindowscrate, and replacewebview2andwebview2-syswithwebview2-comandwebview2-com-sysbuilt with thewindowscrate. This goes along with updates to the TAO and WRYnextbranches. - Show
Ok/Cancelbuttons instead ofYes/Nowhen executingwindow.confirm. - Update the
windowscrate to 0.25.0, which comes with pre-built libraries. WRY and Tao can both reference the same types directly from thewindowscrate instead of sharing bindings inwebview2-com-sys.
© 2025 Tauri Contributors. CC-BY / MIT