@tauri-apps/api full changelog
v2.11.1
Section titled “v2.11.1”Enhancements
Section titled “Enhancements”916782601(#15520 by @polw1) Document thatMonitor.size,Monitor.positionandMonitor.workAreaare in physical pixels, with examples showing how to convert them to the logical pixels expected by window creation options viatoLogical(monitor.scaleFactor).
v2.11.0
Section titled “v2.11.0”New Features
Section titled “New Features”074299c08(#14307) Add Bring All to Front predefined menu item typea12142a48(#14357) Add macos support for setting the icon and icon template state in the same step of the main thread, to prevent flickering.001c8fe3d(#14722) Add a WebView option to control browser-level general autofill behavior. This option does not disable password or credit card autofill. On Windows (WebView2), setting it to true disables the general autofill "Suggestions" UI, which may appear even whenautocomplete="off"is specified on input elements. On Linux, macOS, iOS, and Android, this option is currently unsupported and performs no operation.eb0312ea9(#15199) Propagates theEvent::SuspendedandEvent::Resumedevents fromtaowhen they are emitted on mobile targets.
v2.10.1
Section titled “v2.10.1”Bug Fixes
Section titled “Bug Fixes”- Re-release of
2.10.0with working assets.
v2.10.0
Section titled “v2.10.0”Dependencies
Section titled “Dependencies”v2.9.1
Section titled “v2.9.1”Bug Fixes
Section titled “Bug Fixes”ad1dec2e2(#14464 by @funnydino) FixaddPluginListenerfallback added in https://github.com/tauri-apps/tauri/pull/14132 didn't work properly
v2.9.0
Section titled “v2.9.0”New Features
Section titled “New Features”f5851ee00(#14089) Adds thescrollBarStyleoption to the Webview and WebviewBuilder constructors.3397fd9bf(#14133) Addedapp > onBackButtonPressfor Android back button handling.
Enhancements
Section titled “Enhancements”59089723f(#14091) Added a config to set a data_directory relative to the app-specific data dir in JavaScript andtauri.conf.json.
Bug Fixes
Section titled “Bug Fixes”v2.8.0
Section titled “v2.8.0”New Features
Section titled “New Features”68874c68c(#13564 by @robertrpf) Add window focusable attribute and set_focusable API.5110a762e(#13830 by @Sky-walkerX) AddedWindow::setSimpleFullscreen.
Enhancements
Section titled “Enhancements”-
5ba1c3faa(#13722 by @s00d) Added icon (icon and nativeIcon) support for Submenu:- In the Rust API (
tauri), you can now set an icon for submenus via the builder and dedicated methods. - In the JS/TS API (
@tauri-apps/api),SubmenuOptionsnow has aniconfield, and theSubmenuclass providessetIconandsetNativeIconmethods. - Usage examples are added to the documentation and demo app.
This is a backwards-compatible feature. Submenus can now display icons just like regular menu items.
- In the Rust API (
v2.7.0
Section titled “v2.7.0”New Features
Section titled “New Features”232265c70(#13209 by @kandrelczyk) AddedgetBundleTypeto the app module.
Enhancements
Section titled “Enhancements”96391467e(#13783 by @JosephBrooksbank) Allow events emitted withemitto be handled correctly bylistencallbacks when in a mocked environment
Bug Fixes
Section titled “Bug Fixes”152d971bc(#13744 by @Legend-Master) ExposeunregisterCallback,runCallback,callbacksinmockIPCb821796ad(#13810 by @asdolo) Add missingtrafficLightPositionTypeScript type definition
v2.6.0
Section titled “v2.6.0”New Features
Section titled “New Features”50ebddaa2(#13319 by @kingsword09) Expose thesetAutoResizeAPI for webviews in@tauri-apps/api.267368fd4(#13276 by @amrbashir) AddMonitor.workAreafield.
Bug Fixes
Section titled “Bug Fixes”23b9da75b(#13324 by @kingsword09) Fixed path joining behavior wherepath.join('', 'a')incorrectly returns "/a" instead of "a".b985eaf0a(#13306 by @lucasfernog) Immediately unregister event listener when the unlisten function is called.
What's Changed
Section titled “What's Changed”b5c549d18(#13325 by @Legend-Master)transformCallbacknow registers the callbacks insidewindow.__TAURI_INTERNALS__.callbacksinstead of directly onwindow['_{id}']
v2.5.0
Section titled “v2.5.0”New Features
Section titled “New Features”-
66e6325f4(#13136) Allow passing the callback as the parameter of constructor ofChannelso you can use it like thisnew Channel((message) => console.log(message)) -
ea36294cb(#13208) AddeddisableInputAccessoryView: boolconfig for iOS. -
c1cd0a2dd(#13090) macOS/iOS: add option to disable or enable link previews when building a webview (the webkit api has it enabled by default)WindowOptions::allowLinkPreviewWebviewOptions::allowLinkPreview
-
b072e2b29(#9687) AddpreventOverflowconfig option to prevent the window from overflowing the monitor size on creation
Enhancements
Section titled “Enhancements”b8f86669a(#13145)core.isTaurinow leveragesglobalThisinstead ofwindowin order to be used in unit tests.
Bug Fixes
Section titled “Bug Fixes”v2.4.1
Section titled “v2.4.1”Enhancements
Section titled “Enhancements”dd1372833(#13066 by @ahaoboy) Add a generic toemitandemitTofunctions for thepayloadinstead of the previously used type (unknown).
v2.4.0
Section titled “v2.4.0”New Features
Section titled “New Features”d8059bad3(#12900 by @Simon-Laux) addAppHandle.fetch_data_store_identifiersandAppHandle.remove_data_store(macOS and iOS only)20c190691(#12821 by @Simon-Laux) AddedWindowOptions::javascriptDisabledandWebviewOptions::javascriptDisabled.060de5bbd(#12837 by @niladrix719) AddedgetIdentifier()function to get the application identifier configured in tauri.conf.jsonbe2e6b85f(#12944 by @Simon-Laux) AddedWindow#isAlwaysOnTopandWebviewWindow#isAlwaysOnTopmethods.bcdd51025(#13012 by @lucasfernog) Thepathbasename and extname APIs now accept Android content URIs, such as the paths returned by the dialog plugin.
Bug Fixes
Section titled “Bug Fixes”v2.3.0
Section titled “v2.3.0”Enhancements
Section titled “Enhancements”a2d36b8c3(#12181 by @bastiankistner) Add an option to change the default background throttling policy (currently for WebKit only).
v2.2.0
Section titled “v2.2.0”New Features
Section titled “New Features”-
020ea0556(#11661 by @ahqsoftwares) Add badging APIs:Window/WebviewWindow::set_badge_countfor Linux, macOS and IOS.Window/WebviewWindow::set_overlay_iconfor Windows Only.Window/WebviewWindow::set_badge_labelfor macOS Only.
-
fc30b20be(#11726 by @amrbashir) AddTrayIcon.setShowMenuOnLeftClickmethod and deprecateTrayIcon.setMenuOnLeftClickto match the Rust API. -
fc30b20be(#11726 by @amrbashir) AddTrayIconOptions.showMenuOnLeftClickfield and deprecateTrayIconOptions.menuOnLeftClickto match the Rust API.
Enhancements
Section titled “Enhancements”fc30b20be(#11726 by @amrbashir) Add support forTrayIconOptions.menuOnLeftClickoption andTrayIcon.setMenuOnLeftClickon Windows.
Bug Fixes
Section titled “Bug Fixes”a16796a55(#12069 by @Legend-Master) FixChannelnever callsonmessagein some cases12a48d1e2(#11741 by @amrbashir) Fix error when callingPredefinedMenuItem.newto create anAboutmenu item that uses anImageinstance for the about icon.12a48d1e2(#11741 by @amrbashir) Fix error when callingIconMenuItem.newusing anImageinstance for the icon.b63262cd4(#11724 by @FabianLars) Removed the generic in the type of the callback function argument inmockIPCwhich prevented its proper use in tests using TypeScript.a6e84f7d2(#11835 by @ilittlebig) Fix error where usingisAbsolutewould returnCommand not found.
v2.1.1
Section titled “v2.1.1”Bug Fixes
Section titled “Bug Fixes”7f81f0523Fix regression intoLogicalandtoPhysicalfor position types indpimodule returning incorrectyvalue.e8a50f6d7(#11645) Fix integer values ofBasDirectory.HomeandBaseDirectory.Fontregression which broke path APIs in JS.
v2.1.0
Section titled “v2.1.0”New Features
Section titled “New Features”-
5c4b83084(#11191 by @amrbashir) Improved support fordpimodule types to allow these types to be used without manual conversions withinvoke:- Added
SERIALIZE_TO_IPC_FNconst incoremodule which can be used to implement custom IPC serialization for types passed toinvoke. - Added
SizeandPositionclasses indpimodule. - Implementd
SERIALIZE_TO_IPC_FNmethod onPhysicalSize,PhysicalPosition,LogicalSizeandLogicalPositionto convert it into a valid IPC-compatible value that can be deserialized correctly on the Rust side into its equivalent struct.
- Added
-
4d545ab3c(#11486 by @amrbashir) AddedWebview::setBackgroundColor,WebviewWindow::setBackgroundColorAPIs to set the window background color dynamically and abackgroundColorwindow option to set the background color on window creation. -
cbc095ec5(#11451 by @amrbashir) Addapp > windows > devtoolsconfig option and when creating the webview from JS, to enable or disable devtools for a specific webview. -
2a75c64b5(#11469 by @amrbashir) AddedwindowClassnameoption, when constructing aWebvieworWebviewWindow, to specify the name of the window class on Windows.
Bug Fixes
Section titled “Bug Fixes”54cbf59b5(#11441 by @amrbashir) Fix submenu created as a menu item instead of a submenu when created by using an object in theitemsfield in the options object passed toMenu.neworSubmenu.new.
v2.0.3
Section titled “v2.0.3”Bug Fixes
Section titled “Bug Fixes”fbb45c674(#11423 by @lucasfernog) FixesaddPluginListenernot working.
What's Changed
Section titled “What's Changed”2e88633ba(#11369 by @lucasfernog) Remove references to no longer used__TAURI_INTERNALS__.metadata.windowsand__TAURI_INTERNALS__.metadata.webviews.
v2.0.2
Section titled “v2.0.2”What's Changed
Section titled “What's Changed”e968b3d25(#11219 by @lucasfernog) Actually publish package with the latest tag.
v2.0.1
Section titled “v2.0.1”What's Changed
Section titled “What's Changed”be683e2ac(#11199 by @lucasfernog) Publish package with the latest NPM tag.
v2.0.0
Section titled “v2.0.0”What's Changed
Section titled “What's Changed”637285790Promote to v2 stable!
v2.0.0-rc.6
Section titled “v2.0.0-rc.6”New Features
Section titled “New Features”9014a3f17(#11066 by @amrbashir) AddWebviewWindow.clearAllBrowsingDataandWebview.clearAllBrowsingDatato clear the webview browsing data.95df53a2e(#11143 by @Legend-Master) Add the ability to set theme dynamically usingWindow.setThemeorsetThemefunction from theappmoduled9d2502b4(#11140 by @amrbashir) AddWebview.hideandWebview.showmethods.de7414aab(#11154 by @amrbashir) AddWindow::setEnabledandWindow::isEnabledmethods
Bug Fixes
Section titled “Bug Fixes”948772a65(#11114 by @lucasfernog) Change thebutton_statetray event field to camelCasebuttonState.
Breaking Changes
Section titled “Breaking Changes”0b4495996(#11121 by @amrbashir) Simplified emitted tray event JS value and updatedTrayIconEventtype definition to match it.
v2.0.0-rc.5
Section titled “v2.0.0-rc.5”New Features
Section titled “New Features”ddf69157b(#11031 by @amrbashir) AddtoPhysicalmethod onLogicalPositonandLogicalSizeclasses.
v2.0.0-rc.4
Section titled “v2.0.0-rc.4”Enhancements
Section titled “Enhancements”f81929e25(#10799 by @lucasfernog) AddedPermissionState,checkPermissionsandrequestPermissionsbase APIs to the core module, designed for plugin authors to extend.
Bug Fixes
Section titled “Bug Fixes”fbe76a955(#10797 by @lucasfernog) Uint8Arrays and ArrayBuffers are now properly serialized as an array of numbers.
v2.0.0-rc.3
Section titled “v2.0.0-rc.3”What's Changed
Section titled “What's Changed”f4d5241b3(#10731 by @amrbashir) Update documentation icon path.
v2.0.0-rc.2
Section titled “v2.0.0-rc.2”Bug Fixes
Section titled “Bug Fixes”c689521a7(#10681 by @lucasfernog) Fix tslib path in dist.
v2.0.0-rc.1
Section titled “v2.0.0-rc.1”Breaking Changes
Section titled “Breaking Changes”b6dca99ff(#10630 by @lucasfernog) ChangedWebviewWindow.getAll,WebviewWindow.getByLabel,getAllWebviewWindows,Window.getAll,Window.getByLabel,getAllWindows,Webview.getAll,Webview.getByLabel,getAllWebviewsto be async so their return value are synchronized with the state from the Rust side, meaning new and destroyed windows are reflected.
v2.0.0-rc.0
Section titled “v2.0.0-rc.0”Changes
Section titled “Changes”- Promoted to RC!
v2.0.0-beta.16
Section titled “v2.0.0-beta.16”New Features
Section titled “New Features”-
da25f7353(#10242 by @amrbashir) Add APIs to enable setting window size constraints separately:- Added
WindowSizeConstraintsinterface inwindowandwebviewWindowmodules. - Added
Window.setSizeConstraintsandWebviewWindow.setSizeConstraints
- Added
Bug Fixes
Section titled “Bug Fixes”3c17fb64f(#10277 by @Legend-Master) FixWebview.reparentpointing toset_webview_focusinstead ofreparentRust APIda25f7353(#10242 by @amrbashir) ApplyminWidth,minHieght,maxWidthandmaxHeightconstraints separately, which fixes a long standing bug where these constraints were never applied unless width and height were constrained together.
v2.0.0-beta.15
Section titled “v2.0.0-beta.15”New Features
Section titled “New Features”Enhancements
Section titled “Enhancements”080b6e127(#10246 by @Legend-Master) UseEventNameonWindow,WebviewandWebviewWindow'sonceso you can get auto complete for tauri's built-in events
Bug Fixes
Section titled “Bug Fixes”080b6e127(#10246 by @Legend-Master) Fixoncedoesn't detached after one callback if event handler throws
Breaking Changes
Section titled “Breaking Changes”-
261c9f942(#10170 by @amrbashir) Renamed drag and drop events inTauriEventenum to better convey when they are triggered:TauriEvent.DRAG->TauriEvent.DRAG_ENTERTauriEvent.DROP_OVER->TauriEvent.DRAG_OVERTauriEvent.DROP->TauriEvent.DRAG_DROPTauriEvent.DROP_CANCELLED->TauriEvent::DRAG_LEAVE
Also the
typefield values inWindow/Webview/WebviewWindow.onDropEventandDragDropEventhave changed:dragged->enterdragOver->overdropped->dropcancelled->leave
-
2b1ceb40d(#10229 by @amrbashir) Renamed the JSgetCurrentandgetAllfunctions to a clearer name to avoid ambiguity:getCurrentinwindowmodule has been renamed togetCurrentWindowgetCurrentinwebviewmodule has been renamed togetCurrentWebviewgetCurrentinwebviewWindowmodule has been renamed togetCurrentWebviewWindowgetAllinwindowmodule has been renamed togetAllWindowsgetAllinwebviewmodule has been renamed togetAllWebviewsgetAllinwebviewWindowmodule has been renamed togetAllWebviewWindows
v2.0.0-beta.14
Section titled “v2.0.0-beta.14”New Features
Section titled “New Features”148f04887(#9979) AdddefaultWindowIconto the JSappmodule to retrieve the default window icon in JS.
Bug Fixes
Section titled “Bug Fixes”v2.0.0-beta.13
Section titled “v2.0.0-beta.13”Breaking Changes
Section titled “Breaking Changes”-
c4410daa8(#9777) This release contains breaking changes to the tray event structure because of newly added events:- Changed
TrayIconEventto be an enum instead of a struct. - Added
MouseButtonStateandMouseButtonenums. - Removed
ClickTypeenum and replaced it withMouseButtonenum. - Added
MouseButtonStateenum.
- Changed
v2.0.0-beta.12
Section titled “v2.0.0-beta.12”New Features
Section titled “New Features”ec0e092ec(#9770) AddmonitorFromPointfunction inwindowmodule to get the monitor from a given point.
v2.0.0-beta.11
Section titled “v2.0.0-beta.11”Bug Fixes
Section titled “Bug Fixes”v2.0.0-beta.10
Section titled “v2.0.0-beta.10”New Features
Section titled “New Features”v2.0.0-beta.9
Section titled “v2.0.0-beta.9”New Features
Section titled “New Features”Bug Fixes
Section titled “Bug Fixes”be7eab209(#9486) Set theexports > typespackage.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.
v2.0.0-beta.8
Section titled “v2.0.0-beta.8”New Features
Section titled “New Features”58a7a552d(#9378) Added theset_zoomfunction to the webview API.58a7a552d(#9378) Addzoom_hotkeys_enabledto enable browser native zoom controls on creating webviews.
Bug Fixes
Section titled “Bug Fixes”48a7a78f8(#9376) FixWindow/Webview/WebviewWindow.setSize,Window/Webview/WebviewWindow.setPostion,Window/WebviewWindow.setMinSize,Window/WebviewWindow.setMaxSize,Window/WebviewWindow.setCursorPositionandMenu/Submenu.popupmethods failing with invalid args.
v2.0.0-beta.7
Section titled “v2.0.0-beta.7”Bug Fixes
Section titled “Bug Fixes”Breaking Changes
Section titled “Breaking Changes”06833f4fa(#9100) RenameFileDroptoDragDropon structs, enums and enum variants. Also renamedfile_droptodrag_dropon fields and function names.
v2.0.0-beta.6
Section titled “v2.0.0-beta.6”New Features
Section titled “New Features”Enhancements
Section titled “Enhancements”Bug Fixes
Section titled “Bug Fixes”379cc2b35(#9165) Fixbasename(path, 'ext')JS API when removing all occurances ofextwhere it should only remove the last one.
Breaking Changes
Section titled “Breaking Changes”ea0242db4(#9179)Image::rgba()now returnsPromise<Uint8Array>.ea0242db4(#9179) Removedwidthandheightmethods on the JSImageclass, usesizeinstead.
v2.0.0-beta.5
Section titled “v2.0.0-beta.5”Breaking Changes
Section titled “Breaking Changes”db0a24a97(#9132) Remove theImage.fromPngBytesandImage.fromIcoBytesAPIs. UseImage.fromBytesinstead.
v2.0.0-beta.4
Section titled “v2.0.0-beta.4”New Features
Section titled “New Features”Enhancements
Section titled “Enhancements”v2.0.0-beta.3
Section titled “v2.0.0-beta.3”New Features
Section titled “New Features”v2.0.0-beta.2
Section titled “v2.0.0-beta.2”Breaking Changes
Section titled “Breaking Changes”v2.0.0-beta.1
Section titled “v2.0.0-beta.1”New Features
Section titled “New Features”16e550ec(#8844) Add a newwebviewWindowmodule that exportsWebviewWindowclass and related methods such asgetCurrentandgetAll.16e550ec(#8844) AddWindow.onFileDropEventmethod.
Breaking Changes
Section titled “Breaking Changes”-
16e550ec(#8844) Renamed the following enum variants ofTauriEventenum:TauriEvent.WEBVIEW_FILE_DROP->TauriEvent.FILE_DROPTauriEvent.WEBVIEW_FILE_DROP_HOVER->TauriEvent.FILE_DROP_HOVERTauriEvent.WEBVIEW_FILE_DROP_CANCELLED->TauriEvent.FILE_DROP_CANCELLED
-
16e550ec(#8844) MoveWebviewWindowclass fromwebviewmodule to a newwebviewWindowmodule.
v2.0.0-beta.0
Section titled “v2.0.0-beta.0”New Features
Section titled “New Features”74a2a603(#8661) Implement access control list for IPC usage.a093682d(#8621) AddedemitToapi toeventmodule which is equivalent to the rustemit_tomethod. Also addedemitTomethod onWindow,WebivewandWebviewWindowclasses.a2fc3a63(#8657) AddvisibleOnAllWorkspacesoption when creating the window in JS andWindow.setVisibleOnAllWorkspacesmethod.7f033f6d(#8537) AddWindow.startResizeDragging.9eaeb5a8(#8622) Addparentoption when creating a window.af610232(#8710) AddedWindow::destroyto force close a window.c77b4032(#8280) Added support to multiwebview via the newwindowandwebviewmodules.
Breaking Changes
Section titled “Breaking Changes”c77b4032(#8280) Removed event callback'swindowLabel.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 theWindowclass to theWebviewclass.c77b4032(#8280) RenamedTauriEvent.WINDOW_FILE_DROPtoTauriEvent.WEBVIEW_FILE_DROP,TauriEvent.WINDOW_FILE_DROP_HOVERtoTauriEvent.WEBVIEW_FILE_DROP_HOVERandTauriEvent.WINDOW_FILE_DROP_CANCELLEDtoTauriEvent.WEBVIEW_FILE_DROP_CANCELLED.c77b4032(#8280) Added back theWebviewWindowAPI that exposes functionality of a window that hosts a single webview. The dedicatedWindowandWebviewtypes are exposed for multiwebview features.af610232(#8710)Window::closenow triggers a close requested event instead of forcing the window to be closed.
v2.0.0-alpha.14
Section titled “v2.0.0-alpha.14”v2.0.0-alpha.13
Section titled “v2.0.0-alpha.13”New Features
Section titled “New Features”428ea652(#8370) ExposedResourceclass which should be extended for Rust-backed resources created throughtauri::Manager::resources_table.
Bug Fixes
Section titled “Bug Fixes”ef21b681(#8391) Fix a regression where typescript could not find types when using"moduleResolution": "node"46451aee(#8268) Add top-levelmain,moduleandtypesfields inpackage.jsonto be compliant with typescripts's"moduleResolution": "node"
Breaking Changes
Section titled “Breaking Changes”v2.0.0-alpha.12
Section titled “v2.0.0-alpha.12”New Features
Section titled “New Features”f93148ea(#7709) Addtrayandmenumodules to create and manage tray icons and menus from Javascript.
Enhancements
Section titled “Enhancements”v2.0.0-alpha.11
Section titled “v2.0.0-alpha.11”Bug Fixes
Section titled “Bug Fixes”v2.0.0-alpha.10
Section titled “v2.0.0-alpha.10”Enhancements
Section titled “Enhancements”c6c59cf2Pull changes from Tauri 1.5 release.
Bug Fixes
Section titled “Bug Fixes”287066b2(#8071) No longer crashing in tests without mocks whenclearMocksis defined inafterEachhook.
v2.0.0-alpha.9
Section titled “v2.0.0-alpha.9”New Features
Section titled “New Features”c1ec0f15(#7933) AddedsetAlwaysOnBottomfunction onWindowand thealwaysOnBottomoption when creating a window.fb10b879(#8039) Add theappmodule back.ed32257d(#7794) On Windows, addEffect.Tabbed,Effect.TabbedDarkandEffect.TabbedLighteffects.c9a9246c(#8007) Add thewindowmodule back.c085adda(#8009) Added thesetProgressBarAPI on theWindowclass.
What's Changed
Section titled “What's Changed”Breaking Changes
Section titled “Breaking Changes”a63e71f9(#7942) Changedtaurimodule toprimitivesand removed the undocumentedinvokeexport from the root module.
v2.0.0-alpha.8
Section titled “v2.0.0-alpha.8”Breaking Changes
Section titled “Breaking Changes”v2.0.0-alpha.7
Section titled “v2.0.0-alpha.7”Breaking Changes
Section titled “Breaking Changes”v2.0.0-alpha.6
Section titled “v2.0.0-alpha.6”New Features
Section titled “New Features”v2.0.0-alpha.5
Section titled “v2.0.0-alpha.5”New Features
Section titled “New Features”e0f0dce2(#6442) Added thewindowEffectsoption when creating a window andsetWindowEffectsmethod to change it at runtime.
Enhancements
Section titled “Enhancements”9e3a18e0(#7132) Expose the window target option on event APIs.6d3f3138(#7160) Changedsepanddelimiterfrompathmodule into functions to fix import in frameworks likenext.js4652c446(#7144) AddtempDirfunction topathmodule
v2.0.0-alpha.4
Section titled “v2.0.0-alpha.4”0ab5f40d(#6813) Add channel API for sending data across the IPC.3245d14b(#6895) Moved theappfeature to its own plugin in the plugins-workspace repository.09376af5(#6704) Moved theclifeature 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 theeventJS APIs to a plugin.fc4d687e(#6716) Moved the file system APIs to its own plugin in the plugins-workspace repository.f78a3783(#6742) Moved thehttpfeature to its own plugin in the plugins-workspace repository.29ce9ce2(#6902) Moved theosfeature to its own plugin in the plugins-workspace repository.60cf9ed2(#6905) Moved theprocessfeature to its own plugin in the plugins-workspace repository.96639ca2(#6749) Moved theshellfunctionality to its own plugin in the plugins-workspace repository.b072daa3(#6919) Moved theupdaterfeature to its own plugin in the plugins-workspace repository.cebd7526(#6728) Moved theclipboardfeature to its own plugin in the plugins-workspace repository.3f17ee82(#6737) Moved theglobal-shortcutfeature to its own plugin in the plugins-workspace repository.9a79dc08(#6947) Moved thewindowJS APIs to its own plugin in the plugins-workspace repository.
v2.0.0-alpha.3
Section titled “v2.0.0-alpha.3”- Overload the dialog
openfunction to have better TS result types.
v2.0.0-alpha.2
Section titled “v2.0.0-alpha.2”- Added
rawencoding option to read stdout and stderr raw bytes.- f992e7f5 chore(changes): readd change file on 2023-04-03
- Removed shell's
Commandconstructor and added theCommand.createstatic function instead.
v2.0.0-alpha.1
Section titled “v2.0.0-alpha.1”- Added the
shadowoption when creating a window andsetShadowfunction.
v2.0.0-alpha.0
Section titled “v2.0.0-alpha.0”v1.5.3
Section titled “v1.5.3”Bug Fixes
Section titled “Bug Fixes”1c582a94(#8392) Fix a regression where typescript could not find types when using"moduleResolution": "node"
v1.5.2
Section titled “v1.5.2”Bug Fixes
Section titled “Bug Fixes”50462702(#8267) Add top-levelmain,moduleandtypesfields inpackage.jsonto be compliant with typescripts's"moduleResolution": "node"14544e4b(#8219) Avoid crashing inclearMocks
v1.5.1
Section titled “v1.5.1”New Features
Section titled “New Features”v1.5.0
Section titled “v1.5.0”New Features
Section titled “New Features”Enhancements
Section titled “Enhancements”58d6b899(#7636) Addappendoption toFsOptionsin thefsJS module, used inwriteTextFileandwriteBinaryFile, to be able to append to existing files instead of overwriting it.
Bug Fixes
Section titled “Bug Fixes”2eab1505(#7394) FixBody.formstatic not reading and sending entries of typeBlob(including subclasses such asFile)
v1.4.0
Section titled “v1.4.0”New Features
Section titled “New Features”359058ce(#5939) Addlocalefunction in theosmodule to get the system locale.c4d6fb4b(#2353) Added themaximizable,minimizableandclosablefields onWindowOptions.c4d6fb4b(#2353) Added thesetMaximizable,setMinimizable,setClosable,isMaximizable,isMinimizableandisClosablemethods.000104bc(#6472) AddWebviewWindow.is_focusedandWebviewWindow.getFocusedWindowgetters.
v1.3.0
Section titled “v1.3.0”- Return correct type for
event.payloadinonResizedandonMovedwindow event handlers. - Added the
WindowOptions::contentProtectedoption andWebviewWindow#setContentProtectedto change it at runtime. - Allow setting the text of the dialog buttons.
- Add
is_minimized()window method. - Add
titlegetter on window.
v1.2.0
Section titled “v1.2.0”- Added the
acceptFirstMousewindow option. - Fix incorrect return type on
fs/exists - Initialize
Monitorinstances with the correct classes forpositionandsizefields instead of plain object. - Breaking change: Node.js v12 is no longer supported.
- Add new app-specific
BaseDirectoryenum variantsAppConfig,AppData,AppLocalData,AppCacheandAppLogalong with equivalent functions inpathmodule and deprecated ambiguous variantsLogandAppalong with their equivalent functions inpathmodule. - Fix
dialog.savereturn type - Added support to
FormDataon theBody.formfunction. - Added
showandhidemethods on theappmodule. - Added
tabbingIdentifierwindow option for macOS. - Added
tabbing_identifierto the window builder on macOS. - Added the
user_agentoption when creating a window.
v1.1.0
Section titled “v1.1.0”- Update
mockIPC()handler signature to allow async handler functions. - Improve shell's
Command,Command.stdoutandCommand.stderrevents with newonce,off,listenerCount,prependListener,prependOnceListenerandremoveAllListenersfunctions. - Added the
encodingoption to theCommandoptions. - Add
existsfunction to the fs module.
v1.0.2
Section titled “v1.0.2”- Added helper functions to listen to updater and window events.
- Add support to
ArrayBufferinBody.bytesandwriteBinaryFile. - Use
toString()on message/confirm/ask dialogs title and message values. - Remove the
type-festdependency, changing the OS types to the specific enum instead of allowing any string.
v1.0.1
Section titled “v1.0.1”- Fixes the
writeBinaryFilesending an empty file contents when only the first argument is passed.
v1.0.0
Section titled “v1.0.0”- Allow choosing multiple folders in
dialog.open. - Upgrade to
stable!
v1.0.0-rc.7
Section titled “v1.0.0-rc.7”- Fix
FilePartusage inhttp.Body.formby renaming thevalueproperty tofile. - Fixes a memory leak in the command system.
- The notification's
isPermissionGrantedfunction now returnsbooleaninstead ofboolean | null. The response is nevernullbecause we won't check the permission for now, always returningtrueinstead. - Added the
resolveResourceAPI to the path module. - Renamed
writeFiletowriteTextFilebut kept the original function for backwards compatibility. - Added
(path, contents[, options])overload to thewriteTextFileandwriteBinaryFileAPIs.
v1.0.0-rc.6
Section titled “v1.0.0-rc.6”- Expose option to set the dialog type.
- Expose
titleoption in the message dialog API.
v1.0.0-rc.5
Section titled “v1.0.0-rc.5”- Fixes the type of
http > connectTimeout.
v1.0.0-rc.4
Section titled “v1.0.0-rc.4”- Encode the file path in the
convertFileSrcfunction. - Added
themegetter toWebviewWindow. - Added
themefield toWindowOptions. - Added the
setCursorGrab,setCursorVisible,setCursorIconandsetCursorPositionmethods to theWebviewWindowclass. - Breaking change: The process Command API stdio lines now includes the trailing
\r. - Added the
tauri://theme-changedevent.
v1.0.0-rc.3
Section titled “v1.0.0-rc.3”- Properly define the
appWindowtype. - Added
Tempto theBaseDirectoryenum.
v1.0.0-rc.2
Section titled “v1.0.0-rc.2”- Do not crash if
__TAURI_METADATA__is not set, log an error instead. - Reimplement endpoint to read file as string for performance.
- Fixes a regression on the
unlistencommand.
v1.0.0-rc.1
Section titled “v1.0.0-rc.1”- Provide functions to mock IPC calls during testing and static site generation.
v1.0.0-rc.0
Section titled “v1.0.0-rc.0”-
Add
fileDropEnabledproperty toWindowOptionsso you can now disable it when creating windows from js. -
Add
logDirfunction to thepathmodule to access the suggested log directory. AddBaseDirectory.Logto thefsmodule. -
Expose
ask,messageandconfirmAPIs on the dialog module. -
Event
emitnow automatically serialize non-string types. -
Fix
http.fetchthrowing error if the response is successful but the body is empty. -
Add
titleoption to file open/save dialogs. -
Fix
os.platformreturningmacosandwindowsinstead ofdarwinandwin32. -
The
formatCallbackhelper function now returns a number instead of a string. -
Added
rawHeaderstohttp > Response. -
Removed the
currentDirAPI from thepathmodule.- a08509c6 fix(api): remove
currentDirAPI from thepathmodule on 2022-02-04
- a08509c6 fix(api): remove
-
Remove
.tsfiles on the published package. -
Breaking change: Replaces all usages of
number[]withUint8Arrayto be closer aligned with the wider JS ecosystem. -
WindowManagermethodsinnerPositionouterPositionnow correctly return instance ofPhysicalPosition.WindowManagermethodsinnerSizeouterSizenow correctly return instance ofPhysicalSize. -
Change the
eventfield of theEventinterface to typeEventNameinstead ofstring. -
Now
resolve(),join()andnormalize()from thepathmodule, won't throw errors if the path doesn't exist, which matches NodeJS behavior. -
Fixes the dialog
defaultPathusage on Linux. -
Fixes
window.labelproperty returning null instead of the actual label. -
Remove the
BaseDirectory::Currentenum variant for security reasons.- 696dca58 refactor(core): remove
BaseDirectory::Currentvariant on 2022-01-26
- 696dca58 refactor(core): remove
-
Change
WindowLabeltype tostring.- f68603ae chore(docs): simplify event system documentation on 2021-09-27
-
When building Universal macOS Binaries through the virtual target
universal-apple-darwin: -
Expect a universal binary to be created by the user
-
Ensure that binary is bundled and accessed correctly at runtime
-
3035e458 Remove target triple from sidecar bin paths, closes #3355 (#3356) on 2022-02-07
v1.0.0-beta-rc.3
Section titled “v1.0.0-beta-rc.3”- Fixes distribution of the
@tauri-apps/apipackage for older bundlers. - Update minimum Node.js version to v12.13.0
v1.0.0-beta-rc.2
Section titled “v1.0.0-beta-rc.2”- TS was wrongly re-exporting the module.
v1.0.0-beta-rc.1
Section titled “v1.0.0-beta-rc.1”- Missing the
filesproperty in the package.json which mean that thedistdirectory was not published and used.
v1.0.0-beta-rc.0
Section titled “v1.0.0-beta-rc.0”- Add current working directory to the path api module.
- The shell process spawning API was rewritten and now includes stream access.
- The file dialog API now uses rfd. The filter option is now an array of
{ name: string, extensions: string[] }. - The HTTP API was improved with client caching and better payload and response types.
- Update all code files to have our license header.
- Use secure RNG on callback function names.
- The invoke function can now be called with the cmd as the first parameter and the args as the second.
- Adds a global shortcut API.
- Added window management and window creation APIs.
v1.0.0-beta.8
Section titled “v1.0.0-beta.8”- Revert target back to ES5.
- 657c7dac fix(api): revert ES2021 target on 2021-08-23
v1.0.0-beta.7
Section titled “v1.0.0-beta.7”- Fix missing asset protocol path.Now the protocol is
https://asset.localhost/path/to/fileon Windows. Linux and macOS is stillasset://path/to/file.
v1.0.0-beta.6
Section titled “v1.0.0-beta.6”bundlenow exportsclipboardmodule so you canimport { clipboard } from "@tauri-apps/api".- Fix double window creation
- Add
osmodule which exportsEOL,platform(),version(),type(),arch(),tempdir() -
- Add new nodejs-inspired functions which are
join,resolve,normalize,dirname,basenameandextname.
- Add new nodejs-inspired functions which are
- Add
sepanddelimiterconstants. - Removed
resolvePathAPI, useresolveinstead. - 05b9d81e feat(api.js): add nodejs-inspired functions in
pathmodule (#2310) on 2021-08-02 - Change target to ES2021.
- Add
toggleMaximize()function to theWebviewWindowclass. - Fix
@ts-expecterror usage - Fixes file drop events being swapped (
file-drop-hoveron drop andfile-dropon hover). - Fixes the global bundle UMD code.
-
- Fixes monitor api not working.
- Fixes window.print() not working on macOS.
- 0f63f5e7 fix(api): Fix monitor functions, closes #2294 (#2301) on 2021-07-29
- Improve
EventNametype usingtype-fest'sLiteralUnion. - Update protocol url path with wry 0.12.1 on Windows.
v1.0.0-beta.5
Section titled “v1.0.0-beta.5”- Adds
convertFileSrchelper to thetaurimodule, simplifying the process of using file paths as webview source (img,video, etc). - You can now use
emit,listenandonceusing theappWindowexported by the window module. - Allow manipulating a spawned window directly using
WebviewWindow, which now extendsWindowManager.
v1.0.0-beta.4
Section titled “v1.0.0-beta.4”- Add asset custom protocol to access local file system.
v1.0.0-beta.3
Section titled “v1.0.0-beta.3”- Export
ResponseandResponseTypeas value instead of type.
v1.0.0-beta.2
Section titled “v1.0.0-beta.2”- Export
BaseDirectoryinpathmodule - Use
export typeto export TS types, enums and interfaces. - Adds
focus?: booleanto the WindowOptions interface. - Adds
isDecoratedgetter on the window API.- f58a2114 feat(core): add
is_decoratedWindow getter on 2021-05-30
- f58a2114 feat(core): add
- Adds
isResizablegetter on the window API.- 1e8af280 feat(core): add
is_resizableWindow getter on 2021-05-30
- 1e8af280 feat(core): add
- Adds
isVisiblegetter on the window API.- 36506c96 feat(core): add
is_visibleAPI on 2021-05-30
- 36506c96 feat(core): add
- Adds
requestUserAttentionAPI to thewindowmodule. - Adds
setFocusto the window API. - Adds
setSkipTaskbarto the window API.- e06aa277 feat(core): add
set_skip_taskbarAPI on 2021-05-30
- e06aa277 feat(core): add
- Adds
skipTaskbar?: booleanto the WindowOptions interface.- 5525b03a feat(core): add
skip_taskbarAPI to the WindowBuilder/WindowOptions on 2021-05-30
- 5525b03a feat(core): add
- Adds
center?: booleantoWindowOptionsandcenter()API to theappWindow. - Adds
clipboardAPIs (write and read text). - The
httpAPIs now resolve the returned promise when the API call finishes with an error status code. - Improve RPC security by requiring a numeric code to invoke commands. The codes are generated by the Rust side and injected into the app's code using a closure, so external scripts can't access the backend. This change doesn't protect
withGlobalTauri(window.__TAURI__) usage. - Mark the
WebviewWindowconstructor as public. - Validate arguments on the window
setLocation,setSize,setMinSizeandsetMaxSizeAPI.
v1.0.0-beta.1
Section titled “v1.0.0-beta.1”- Adds
package.jsonto theexportsobject.
v1.0.0-beta.0
Section titled “v1.0.0-beta.0”- CommonJS chunks are now properly exported with
.cjsextension - Adds
transparent?: booleanto theWindowOptionsinterface. - Adds
optionsargument to the shell command API (envandcwdconfiguration). - Adds
startDraggingAPI on the window module. - Move
exitandrelaunchAPIs fromapptoprocessmodule. - The window management API was refactored: removed
setX,setY,setWidth,setHeightAPIs, renamedresizetosetSizeand the size and position APIs now allow defining both logical and physical values. - Adds window getters.
© 2026 Tauri Contributors. CC-BY / MIT