Co-authored-by: FabianLars <FabianLars@users.noreply.github.com>
73 KiB
Changelog
[2.0.0-beta.16]
New Features
-
da25f7353
(#10242 by @amrbashir) Add APIs to enable setting window size constraints separately:- Added
WindowSizeConstraints
interface inwindow
andwebviewWindow
modules. - Added
Window.setSizeConstraints
andWebviewWindow.setSizeConstraints
- Added
Bug Fixes
3c17fb64f
(#10277 by @Legend-Master) FixWebview.reparent
pointing toset_webview_focus
instead ofreparent
Rust APIda25f7353
(#10242 by @amrbashir) ApplyminWidth
,minHieght
,maxWidth
andmaxHeight
constraints separately, which fixes a long standing bug where these constraints were never applied unless width and height were constrained together.
[2.0.0-beta.15]
New Features
Enhancements
080b6e127
(#10246 by @Legend-Master) UseEventName
onWindow
,Webview
andWebviewWindow
'sonce
so you can get auto complete for tauri's built-in events
Bug Fixes
080b6e127
(#10246 by @Legend-Master) Fixonce
doesn't detached after one callback if event handler throws
Breaking Changes
-
261c9f942
(#10170 by @amrbashir) Renamed drag and drop events inTauriEvent
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 inWindow/Webview/WebviewWindow.onDropEvent
andDragDropEvent
have changed:dragged
->enter
dragOver
->over
dropped
->drop
cancelled
->leave
-
2b1ceb40d
(#10229 by @amrbashir) Renamed the JSgetCurrent
andgetAll
functions to a clearer name to avoid ambiguity:getCurrent
inwindow
module has been renamed togetCurrentWindow
getCurrent
inwebview
module has been renamed togetCurrentWebview
getCurrent
inwebviewWindow
module has been renamed togetCurrentWebviewWindow
getAll
inwindow
module has been renamed togetAllWindows
getAll
inwebview
module has been renamed togetAllWebviews
getAll
inwebviewWindow
module has been renamed togetAllWebviewWindows
[2.0.0-beta.14]
New Features
148f04887
(#9979) AdddefaultWindowIcon
to the JSapp
module to retrieve the default window icon in JS.
Bug Fixes
[2.0.0-beta.13]
Breaking Changes
-
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
andMouseButton
enums. - Removed
ClickType
enum and replaced it withMouseButton
enum. - Added
MouseButtonState
enum.
- Changed
[2.0.0-beta.12]
New Features
ec0e092ec
(#9770) AddmonitorFromPoint
function inwindow
module to get the monitor from a given point.
[2.0.0-beta.11]
Bug Fixes
[2.0.0-beta.10]
New Features
[2.0.0-beta.9]
New Features
Bug Fixes
be7eab209
(#9486) Set theexports > 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.
[2.0.0-beta.8]
New Features
58a7a552d
(#9378) Added theset_zoom
function to the webview API.58a7a552d
(#9378) Addzoom_hotkeys_enabled
to enable browser native zoom controls on creating webviews.
Bug Fixes
48a7a78f8
(#9376) FixWindow/Webview/WebviewWindow.setSize
,Window/Webview/WebviewWindow.setPostion
,Window/WebviewWindow.setMinSize
,Window/WebviewWindow.setMaxSize
,Window/WebviewWindow.setCursorPosition
andMenu/Submenu.popup
methods failing with invalid args.
[2.0.0-beta.7]
Bug Fixes
Breaking Changes
06833f4fa
(#9100) RenameFileDrop
toDragDrop
on structs, enums and enum variants. Also renamedfile_drop
todrag_drop
on fields and function names.
[2.0.0-beta.6]
New Features
Enhancements
Bug Fixes
379cc2b35
(#9165) Fixbasename(path, 'ext')
JS API when removing all occurances ofext
where it should only remove the last one.
Breaking Changes
ea0242db4
(#9179)Image::rgba()
now returnsPromise<Uint8Array>
.ea0242db4
(#9179) Removedwidth
andheight
methods on the JSImage
class, usesize
instead.
[2.0.0-beta.5]
Breaking Changes
db0a24a97
(#9132) Remove theImage.fromPngBytes
andImage.fromIcoBytes
APIs. UseImage.fromBytes
instead.
[2.0.0-beta.4]
New Features
Enhancements
[2.0.0-beta.3]
New Features
[2.0.0-beta.2]
Breaking Changes
[2.0.0-beta.1]
New Features
16e550ec
(#8844) Add a newwebviewWindow
module that exportsWebviewWindow
class and related methods such asgetCurrent
andgetAll
.16e550ec
(#8844) AddWindow.onFileDropEvent
method.
Breaking Changes
-
16e550ec
(#8844) Renamed the following enum variants ofTauriEvent
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) MoveWebviewWindow
class fromwebview
module to a newwebviewWindow
module.
[2.0.0-beta.0]
New Features
74a2a603
(#8661) Implement access control list for IPC usage.a093682d
(#8621) AddedemitTo
api toevent
module which is equivalent to the rustemit_to
method. Also addedemitTo
method onWindow
,Webivew
andWebviewWindow
classes.a2fc3a63
(#8657) AddvisibleOnAllWorkspaces
option when creating the window in JS andWindow.setVisibleOnAllWorkspaces
method.7f033f6d
(#8537) AddWindow.startResizeDragging
.9eaeb5a8
(#8622) Addparent
option when creating a window.af610232
(#8710) AddedWindow::destroy
to force close a window.c77b4032
(#8280) Added support to multiwebview via the newwindow
andwebview
modules.
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 theWindow
class to theWebview
class.c77b4032
(#8280) RenamedTauriEvent.WINDOW_FILE_DROP
toTauriEvent.WEBVIEW_FILE_DROP
,TauriEvent.WINDOW_FILE_DROP_HOVER
toTauriEvent.WEBVIEW_FILE_DROP_HOVER
andTauriEvent.WINDOW_FILE_DROP_CANCELLED
toTauriEvent.WEBVIEW_FILE_DROP_CANCELLED
.c77b4032
(#8280) Added back theWebviewWindow
API that exposes functionality of a window that hosts a single webview. The dedicatedWindow
andWebview
types are exposed for multiwebview features.af610232
(#8710)Window::close
now triggers a close requested event instead of forcing the window to be closed.
[2.0.0-alpha.14]
[2.0.0-alpha.13]
New Features
428ea652
(#8370) ExposedResource
class which should be extended for Rust-backed resources created throughtauri::Manager::resources_table
.
Bug Fixes
ef21b681
(#8391) Fix a regression where typescript could not find types when using"moduleResolution": "node"
46451aee
(#8268) Add top-levelmain
,module
andtypes
fields inpackage.json
to be compliant with typescripts's"moduleResolution": "node"
Breaking Changes
[2.0.0-alpha.12]
New Features
f93148ea
(#7709) Addtray
andmenu
modules to create and manage tray icons and menus from Javascript.
Enhancements
[2.0.0-alpha.11]
Bug Fixes
[2.0.0-alpha.10]
Enhancements
c6c59cf2
Pull changes from Tauri 1.5 release.
Bug Fixes
287066b2
(#8071) No longer crashing in tests without mocks whenclearMocks
is defined inafterEach
hook.
[2.0.0-alpha.9]
New Features
c1ec0f15
(#7933) AddedsetAlwaysOnBottom
function onWindow
and thealwaysOnBottom
option when creating a window.fb10b879
(#8039) Add theapp
module back.ed32257d
(#7794) On Windows, addEffect.Tabbed
,Effect.TabbedDark
andEffect.TabbedLight
effects.c9a9246c
(#8007) Add thewindow
module back.c085adda
(#8009) Added thesetProgressBar
API on theWindow
class.
What's Changed
Breaking Changes
a63e71f9
(#7942) Changedtauri
module toprimitives
and removed the undocumentedinvoke
export from the root module.
[2.0.0-alpha.8]
Breaking Changes
[2.0.0-alpha.7]
Breaking Changes
[2.0.0-alpha.6]
New Features
[2.0.0-alpha.5]
New Features
e0f0dce2
(#6442) Added thewindowEffects
option when creating a window andsetWindowEffects
method to change it at runtime.
Enhancements
9e3a18e0
(#7132) Expose the window target option on event APIs.6d3f3138
(#7160) Changedsep
anddelimiter
frompath
module into functions to fix import in frameworks likenext.js
4652c446
(#7144) AddtempDir
function topath
module
[2.0.0-alpha.4]
0ab5f40d
(#6813) Add channel API for sending data across the IPC.3245d14b
(#6895) Moved theapp
feature to its own plugin in the plugins-workspace repository.09376af5
(#6704) Moved thecli
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 theevent
JS APIs to a plugin.fc4d687e
(#6716) Moved the file system APIs to its own plugin in the plugins-workspace repository.f78a3783
(#6742) Moved thehttp
feature to its own plugin in the plugins-workspace repository.29ce9ce2
(#6902) Moved theos
feature to its own plugin in the plugins-workspace repository.60cf9ed2
(#6905) Moved theprocess
feature to its own plugin in the plugins-workspace repository.96639ca2
(#6749) Moved theshell
functionality to its own plugin in the plugins-workspace repository.b072daa3
(#6919) Moved theupdater
feature to its own plugin in the plugins-workspace repository.cebd7526
(#6728) Moved theclipboard
feature to its own plugin in the plugins-workspace repository.3f17ee82
(#6737) Moved theglobal-shortcut
feature to its own plugin in the plugins-workspace repository.9a79dc08
(#6947) Moved thewindow
JS APIs to its own plugin in the plugins-workspace repository.
[2.0.0-alpha.3]
- Overload the dialog
open
function to have better TS result types.
[2.0.0-alpha.2]
- 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 theCommand.create
static function instead.
[2.0.0-alpha.1]
- Added the
shadow
option when creating a window andsetShadow
function.
[2.0.0-alpha.0]
[1.5.3]
Bug Fixes
1c582a94
(#8392) Fix a regression where typescript could not find types when using"moduleResolution": "node"
[1.5.2]
Bug Fixes
50462702
(#8267) Add top-levelmain
,module
andtypes
fields inpackage.json
to be compliant with typescripts's"moduleResolution": "node"
14544e4b
(#8219) Avoid crashing inclearMocks
[1.5.1]
New Features
[1.5.0]
New Features
Enhancements
58d6b899
(#7636) Addappend
option toFsOptions
in thefs
JS module, used inwriteTextFile
andwriteBinaryFile
, to be able to append to existing files instead of overwriting it.
Bug Fixes
2eab1505
(#7394) FixBody.form
static not reading and sending entries of typeBlob
(including subclasses such asFile
)
[1.4.0]
New Features
359058ce
(#5939) Addlocale
function in theos
module to get the system locale.c4d6fb4b
(#2353) Added themaximizable
,minimizable
andclosable
fields onWindowOptions
.c4d6fb4b
(#2353) Added thesetMaximizable
,setMinimizable
,setClosable
,isMaximizable
,isMinimizable
andisClosable
methods.000104bc
(#6472) AddWebviewWindow.is_focused
andWebviewWindow.getFocusedWindow
getters.
[1.3.0]
- Return correct type for
event.payload
inonResized
andonMoved
window event handlers. - Added the
WindowOptions::contentProtected
option andWebviewWindow#setContentProtected
to change it at runtime. - Allow setting the text of the dialog buttons.
- Add
is_minimized()
window method. - Add
title
getter on window.
[1.2.0]
- Added the
acceptFirstMouse
window option. - Fix incorrect return type on
fs/exists
- Initialize
Monitor
instances with the correct classes forposition
andsize
fields instead of plain object. - Breaking change: Node.js v12 is no longer supported.
- Add new app-specific
BaseDirectory
enum variantsAppConfig
,AppData
,AppLocalData
,AppCache
andAppLog
along with equivalent functions inpath
module and deprecated ambiguous variantsLog
andApp
along with their equivalent functions inpath
module. - Fix
dialog.save
return type - Added support to
FormData
on theBody.form
function. - Added
show
andhide
methods on theapp
module. - Added
tabbingIdentifier
window option for macOS. - Added
tabbing_identifier
to the window builder on macOS. - Added the
user_agent
option when creating a window.
[1.1.0]
- Update
mockIPC()
handler signature to allow async handler functions. - Improve shell's
Command
,Command.stdout
andCommand.stderr
events with newonce
,off
,listenerCount
,prependListener
,prependOnceListener
andremoveAllListeners
functions. - Added the
encoding
option to theCommand
options. - Add
exists
function to the fs module.
[1.0.2]
- Added helper functions to listen to updater and window events.
- Add support to
ArrayBuffer
inBody.bytes
andwriteBinaryFile
. - Use
toString()
on message/confirm/ask dialogs title and message values. - Remove the
type-fest
dependency, changing the OS types to the specific enum instead of allowing any string.
[1.0.1]
- Fixes the
writeBinaryFile
sending an empty file contents when only the first argument is passed.
[1.0.0]
- Allow choosing multiple folders in
dialog.open
. - Upgrade to
stable
!
[1.0.0-rc.7]
- Fix
FilePart
usage inhttp.Body.form
by renaming thevalue
property tofile
. - Fixes a memory leak in the command system.
- The notification's
isPermissionGranted
function now returnsboolean
instead ofboolean | null
. The response is nevernull
because we won't check the permission for now, always returningtrue
instead. - Added the
resolveResource
API to the path module. - Renamed
writeFile
towriteTextFile
but kept the original function for backwards compatibility. - Added
(path, contents[, options])
overload to thewriteTextFile
andwriteBinaryFile
APIs.
[1.0.0-rc.6]
- Expose option to set the dialog type.
- Expose
title
option in the message dialog API.
[1.0.0-rc.5]
- Fixes the type of
http > connectTimeout
.
[1.0.0-rc.4]
- Encode the file path in the
convertFileSrc
function. - Added
theme
getter toWebviewWindow
. - Added
theme
field toWindowOptions
. - Added the
setCursorGrab
,setCursorVisible
,setCursorIcon
andsetCursorPosition
methods to theWebviewWindow
class. - Breaking change: The process Command API stdio lines now includes the trailing
\r
. - Added the
tauri://theme-changed
event.
[1.0.0-rc.3]
- Properly define the
appWindow
type. - Added
Temp
to theBaseDirectory
enum.
[1.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
unlisten
command.
[1.0.0-rc.1]
- Provide functions to mock IPC calls during testing and static site generation.
[1.0.0-rc.0]
-
Add
fileDropEnabled
property toWindowOptions
so you can now disable it when creating windows from js. -
Add
logDir
function to thepath
module to access the suggested log directory. AddBaseDirectory.Log
to thefs
module. -
Expose
ask
,message
andconfirm
APIs on the dialog module. -
Event
emit
now automatically serialize non-string types. -
Fix
http.fetch
throwing error if the response is successful but the body is empty. -
Add
title
option to file open/save dialogs. -
Fix
os.platform
returningmacos
andwindows
instead ofdarwin
andwin32
. -
The
formatCallback
helper function now returns a number instead of a string. -
Added
rawHeaders
tohttp > Response
. -
Removed the
currentDir
API from thepath
module.- a08509c6 fix(api): remove
currentDir
API from thepath
module on 2022-02-04
- a08509c6 fix(api): remove
-
Remove
.ts
files on the published package. -
Breaking change: Replaces all usages of
number[]
withUint8Array
to be closer aligned with the wider JS ecosystem. -
WindowManager
methodsinnerPosition
outerPosition
now correctly return instance ofPhysicalPosition
.WindowManager
methodsinnerSize
outerSize
now correctly return instance ofPhysicalSize
. -
Change the
event
field of theEvent
interface to typeEventName
instead ofstring
. -
Now
resolve()
,join()
andnormalize()
from thepath
module, won't throw errors if the path doesn't exist, which matches NodeJS behavior. -
Fixes the dialog
defaultPath
usage on Linux. -
Fixes
window.label
property returning null instead of the actual label. -
Remove the
BaseDirectory::Current
enum variant for security reasons.- 696dca58 refactor(core): remove
BaseDirectory::Current
variant on 2022-01-26
- 696dca58 refactor(core): remove
-
Change
WindowLabel
type 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
[1.0.0-beta.8]
- Revert target back to ES5.
- 657c7dac fix(api): revert ES2021 target on 2021-08-23
[1.0.0-beta.7]
- Fix missing asset protocol path.Now the protocol is
https://asset.localhost/path/to/file
on Windows. Linux and macOS is stillasset://path/to/file
.
[1.0.0-beta.6]
bundle
now exportsclipboard
module so you canimport { clipboard } from "@tauri-apps/api"
.- Fix double window creation
- Add
os
module which exportsEOL
,platform()
,version()
,type()
,arch()
,tempdir()
-
- Add new nodejs-inspired functions which are
join
,resolve
,normalize
,dirname
,basename
andextname
.
- Add new nodejs-inspired functions which are
- Add
sep
anddelimiter
constants. - Removed
resolvePath
API, useresolve
instead. - 05b9d81e feat(api.js): add nodejs-inspired functions in
path
module (#2310) on 2021-08-02 - Change target to ES2021.
- Add
toggleMaximize()
function to theWebviewWindow
class. - Fix
@ts-expect
error usage - Fixes file drop events being swapped (
file-drop-hover
on drop andfile-drop
on 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
EventName
type usingtype-fest
'sLiteralUnion
. - Update protocol url path with wry 0.12.1 on Windows.
[1.0.0-beta.5]
- Adds
convertFileSrc
helper to thetauri
module, simplifying the process of using file paths as webview source (img
,video
, etc). - You can now use
emit
,listen
andonce
using theappWindow
exported by the window module. - Allow manipulating a spawned window directly using
WebviewWindow
, which now extendsWindowManager
.
[1.0.0-beta.4]
- Add asset custom protocol to access local file system.
[1.0.0-beta.3]
- Export
Response
andResponseType
as value instead of type.
[1.0.0-beta.2]
- Export
BaseDirectory
inpath
module - Use
export type
to export TS types, enums and interfaces. - Adds
focus?: boolean
to the WindowOptions interface. - Adds
isDecorated
getter on the window API.- f58a2114 feat(core): add
is_decorated
Window getter on 2021-05-30
- f58a2114 feat(core): add
- Adds
isResizable
getter on the window API.- 1e8af280 feat(core): add
is_resizable
Window getter on 2021-05-30
- 1e8af280 feat(core): add
- Adds
isVisible
getter on the window API.- 36506c96 feat(core): add
is_visible
API on 2021-05-30
- 36506c96 feat(core): add
- Adds
requestUserAttention
API to thewindow
module. - Adds
setFocus
to the window API. - Adds
setSkipTaskbar
to the window API.- e06aa277 feat(core): add
set_skip_taskbar
API on 2021-05-30
- e06aa277 feat(core): add
- Adds
skipTaskbar?: boolean
to the WindowOptions interface.- 5525b03a feat(core): add
skip_taskbar
API to the WindowBuilder/WindowOptions on 2021-05-30
- 5525b03a feat(core): add
- Adds
center?: boolean
toWindowOptions
andcenter()
API to theappWindow
. - Adds
clipboard
APIs (write and read text). - The
http
APIs 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
WebviewWindow
constructor as public. - Validate arguments on the window
setLocation
,setSize
,setMinSize
andsetMaxSize
API.
[1.0.0-beta.1]
- Adds
package.json
to theexports
object.
[1.0.0-beta.0]
- CommonJS chunks are now properly exported with
.cjs
extension - Adds
transparent?: boolean
to theWindowOptions
interface. - Adds
options
argument to the shell command API (env
andcwd
configuration). - Adds
startDragging
API on the window module. - Move
exit
andrelaunch
APIs fromapp
toprocess
module. - The window management API was refactored: removed
setX
,setY
,setWidth
,setHeight
APIs, renamedresize
tosetSize
and the size and position APIs now allow defining both logical and physical values. - Adds window getters.
[1.0.0-beta-rc.3]
- Fixes distribution of the
@tauri-apps/api
package for older bundlers. - Update minimum Node.js version to v12.13.0
[1.0.0-beta-rc.2]
- TS was wrongly re-exporting the module.
[1.0.0-beta-rc.1]
- Missing the
files
property in the package.json which mean that thedist
directory was not published and used.
[1.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.