2d087ee4b
(#11268 by @amrbashir) On Linux, fix commands, that use Webview
or WebviewWindow
as an argument, receiving an incorrect webview when using multi webviews.2d087ee4b
(#11268 by @amrbashir) On Linux, fix events only emitted to first webview only when using multi webviews.2d087ee4b
(#11268 by @amrbashir) On Linux, fix custom protocols receiving an incorrect webview label when using multi webviewstauri-runtime@2.1.0
0ab2b3306
(#11205 by @lucasfernog) Downgrade MSRV to 1.77.2 to support Windows 7.tauri-utils@2.0.1
tauri-runtime@2.0.1
tauri-utils@2.0.0
tauri-runtime@2.0.0
a247170e1
(#11056 by @SpikeHD) Expose the ability to enabled browser extensions in WebView2 on Windows.9014a3f17
(#11066 by @amrbashir) Add WebviewWindow::clear_all_browsing_data
and Webview::clear_all_browsing_data
to clear the webview browsing data.95df53a2e
(#11143 by @Legend-Master) Add the ability to set theme dynamically using Window::set_theme
, App::set_theme
d9d2502b4
(#11140 by @amrbashir) Add WebviewDispatch::hide
and WebviewDispatch::show
methods.de7414aab
(#11154 by @amrbashir) Add Window::set_enabled
and Window::is_enabled
methods62b3a5cd1
(#11043 by @amrbashir) Fix localStorage
not shared between webviews that use the same data directory.tauri-runtime@2.0.0-rc.13
tauri-utils@2.0.0-rc.13
tauri-utils@2.0.0-rc.12
tauri-runtime@2.0.0-rc.12
bc4804d48
(#10924 by @madsmtm) Use objc2
internally and in examples, leading to better memory safety.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
.tauri-utils@2.0.0-rc.11
tauri-runtime@2.0.0-rc.11
tauri-utils@2.0.0-rc.10
tauri-runtime@2.0.0-rc.10
tauri-utils@2.0.0-rc.9
tauri-runtime@2.0.0-rc.9
tauri-utils@2.0.0-rc.8
tauri-runtime@2.0.0-rc.8
77056b194
(#10895 by @lucasfernog) Update tao to 0.30 and wry to 0.43.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.tauri-utils@2.0.0-rc.7
tauri-runtime@2.0.0-rc.7
793ee0531
(#10700 by @lucasfernog) Allow hyphens and underscores on app identifiers.f4d5241b3
(#10731 by @amrbashir) Update documentation icon path.tauri-utils@2.0.0-rc.6
tauri-runtime@2.0.0-rc.6
tauri-utils@2.0.0-rc.5
tauri-runtime@2.0.0-rc.5
tauri-utils@2.0.0-rc.4
tauri-runtime@2.0.0-rc.4
tauri-utils@2.0.0-rc.3
tauri-runtime@2.0.0-rc.3
d39c392b7
(#10655 by @lucasfernog) Update tao
to 0.29 and wry
to 0.42.tauri-utils@2.0.0-rc.2
tauri-runtime@2.0.0-rc.2
tauri-utils@2.0.0-rc.1
tauri-runtime@2.0.0-rc.1
tauri-utils@2.0.0-rc.0
tauri-runtime@2.0.0-rc.0
9546548ec
(#10297 by @pewsheen) On macOS, set default titlebar style to Visible
to prevent webview move out of the view.da25f7353
(#10242 by @amrbashir) Add inner_size_constraints
method on WindowBuilder
trait and set_size_constraints
method on WindowDispatch
trait.tauri-runtime@2.0.0-beta.21
afb102c59
(#10211 by @Legend-Master) Fix window edge not working after setting resizable false and decorated false dynamicallytauri-utils@2.0.0-beta.19
tauri-runtime@2.0.0-beta.20
f29b78811
(#9862) On Windows, handle resizing undecorated windows natively which improves performance and fixes a couple of annoyances with previous JS implementation:
data-tauri-drag-region
element exists there.669b9c6b5
(#9621) Set the gtk application to the identifier defined in tauri.conf.json
to ensure the app uniqueness.tauri-utils@2.0.0-beta.18
tauri-runtime@2.0.0-beta.19
d4c908cfb
(#10048) Update windows
crate to version 0.57
and webview2-com
crate to version 0.31
9ac930380
(#9850) Emit cargo:rustc-check-cfg
instruction so Cargo validates custom cfg attributes on Rust 1.80 (or nightly-2024-05-05).tauri-utils@2.0.0-beta.17
tauri-runtime@2.0.0-beta.18
d950ac123
Only process IPC commands from the main frame.tauri-utils@2.0.0-beta.16
tauri-runtime@2.0.0-beta.17
tauri-runtime@2.0.0-beta.16
tauri-utils@2.0.0-beta.15
tauri-utils@2.0.0-beta.14
tauri-runtime@2.0.0-beta.15
477bb8cd4
(#9297) Add App/AppHandle/Window/Webview/WebviewWindow::cursor_position
getter to get the current cursor position.tauri-runtime@2.0.0-beta.14
005fe8ce1
(#9410) Fix closable
, maximizable
and minimizable
options not taking effect when used in tauri.conf.json or from JS APIs.tauri-utils@2.0.0-beta.13
tauri-runtime@2.0.0-beta.13
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.2f20fdf1d
(#9361) Fixes an issue causing compilation to fail for i686 and armv7 32-bit targets.4c2e7477e
(#9309) Fix window centering not taking taskbar into account on Windows02eaf0787
(#9428) Fixes inner_size
crash when the window has no webviews.f22ea2998
(#9465) Revert the fix for webview's visibility doesn't change with the app window on Windows as it caused white flashes on show/restore.tauri-utils@2.0.0-beta.12
tauri-runtime@2.0.0-beta.12
4c0c780e0
(#2690) Fix window inner size evaluation on macOS.5bd47b446
(#9246) Fix webview's visibility doesn't change with the app windowtauri-utils@2.0.0-beta.11
tauri-runtime@2.0.0-beta.11
06833f4fa
(#9100) Upgraded to wry@0.38.0
06833f4fa
(#9100) The IPC handler closure now receives a http::Request
instead of a String representing the request body.06833f4fa
(#9100) Rename FileDrop
to DragDrop
on structs, enums and enum variants. Also renamed file_drop
to drag_drop
on fields and function names.tauri-utils@2.0.0-beta.10
tauri-runtime@2.0.0-beta.10
tauri-utils@2.0.0-beta.9
tauri-runtime@2.0.0-beta.9
tauri-utils@2.0.0-beta.8
tauri-runtime@2.0.0-beta.8
46de49aaa
(#9059) When using the unstable
feature flag, WebviewWindow
will internally use the child webview interface for flexibility.tauri-utils@2.0.0-beta.7
tauri-runtime@2.0.0-beta.7
tauri-utils@2.0.0-beta.6
tauri-runtime@2.0.0-beta.6
tauri-utils@2.0.0-beta.5
tauri-runtime@2.0.0-beta.5
tauri-utils@2.0.0-beta.4
tauri-runtime@2.0.0-beta.4
d75713ac
(#8936) Upgraded to wry@0.37.0
tauri-utils@2.0.0-beta.3
tauri-runtime@2.0.0-beta.3
76ce9f61
(#3002) Enhance centering a newly created window, it will no longer jump to center after being visible.16e550ec
(#8844) Add WebviewEvent
, RunEvent::WebviewEvent
and WebviewDispatch::on_webview_event
.tauri-utils@2.0.0-beta.2
tauri-runtime@2.0.0-beta.2
2f55bfec
(#8795) Update wry
to 0.36.tauri-utils@2.0.0-beta.1
tauri-runtime@2.0.0-beta.1
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.00e15675
(#8708) Added RuntimeHandle::request_exit
function.9f8037c2
(#8633) On Windows, fix decorated window not transparent initially until resized.9eaeb5a8
(#8622) Added WindowBuilder::transient_for
and Renamed WindowBuilder::owner_window
to WindowBuilder::owner
and WindowBuilder::parent_window
to WindowBuilder::parent
.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.tauri-utils@2.0.0-beta.0
tauri-runtime@2.0.0-beta.0
tao@0.25
.af610232
(#8710) WindowDispatch::close
now triggers the CloseRequested
flow.9eaeb5a8
(#8622) Changed WindowBuilder::with_config
to take a reference to a WindowConfig
instead of an owned value.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.tauri-utils@2.0.0-alpha.13
tauri-runtime@1.0.0-alpha.8
tauri-utils@2.0.0-alpha.12
tauri-runtime@1.0.0-alpha.7
tauri-runtime@1.0.0-alpha.6
tauri-utils@2.0.0-alpha.11
tauri-runtime@1.0.0-alpha.5
c6c59cf2
Pull changes from Tauri 1.5 release.tauri-utils@2.0.0-alpha.10
tauri-runtime@1.0.0-alpha.4
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.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.tauri-runtime@1.0.0-alpha.3
tauri-utils@2.0.0-alpha.9
8b166e9b
(#7949) Check if automation is enabled with the TAURI_WEBVIEW_AUTOMATION
environment variable instead of TAURI_AUTOMATION
.2558fab8
(#7939) Changed WebviewId
to be an alias for u32
instead of u64
tauri-utils@2.0.0-alpha.8
tauri-runtime@1.0.0-alpha.2
tauri-runtime@1.0.0-alpha.1
0d63732b
(#7754) tauri-runtime
no longer implements its own HTTP types and relies on the http
crate instead.7fb419c3
(#7535) Add Dispatch::default_vbox
84c41597
(#6394) Added primary_monitor
and available_monitors
to Runtime
and RuntimeHandle
.3b98141a
(#3736) Added the Opened
variant to RunEvent
.2a000e15
(#7235) Implement navigate methodtauri-runtime@1.0.0-alpha.0
tauri-utils@2.0.0-alpha.7
fbeb5b91
(#7170) Removed the linux-headers
feature (now always enabled) and added linux-protocol-body
.7fb419c3
(#7535) Dispatch::create_window
, Runtime::create_window
and RuntimeHandle::create_window
has been changed to accept a 3rd parameter which is a closure that takes RawWindow
and to be executed right after the window is created and before the webview is added to the window.7fb419c3
(#7535) System tray and menu related APIs and structs have all been removed and are now implemented in tauri outside of the runtime-space.7fb419c3
(#7535) Runtime::new
and Runtime::new_any_thread
now accept a RuntimeInitArgs
.7fb419c3
(#7535) Removed system-tray
feature flage0f0dce2
(#6442) Added the window_effects
option when creating a window and Window::set_effects
to change it at runtime.39f1b04f
(#6943) Moved the event
JS APIs to a plugin.3188f376
(#6883) Bump the MSRV to 1.65.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.31444ac1
(#6725) Update wry
to 0.28
android
configuration object under tauri > bundle
.
find_class
, run_on_android_context
on RuntimeHandle
.
shadow
option when creating a window and Window::set_shadow
.
with_webview
on Android and iOS.
with_webview
for Android platform alowing execution of JNI code in context.
d42668ce
(#9003) Fix panic during intialization on wayland when using clipboard
feature, instead propagate the error during API usage.24210735
(#8117) Fixes a crash on macOS when accessing the windows map.510b6226
(#8822) Add missing arboard
feature flag to prevent panics in wayland session.0d0501cb
(#8394) Use arboard
instead of tao
clipboard implementation to prevent a crash.b2f83f03
(#8402) Use Arc
instead of Rc
to prevent crashes on macOS.tauri-utils@1.5.2
tauri-runtime@0.14.2
5e05236b
(#8289) Added tracing for window startup, plugins, Window::eval
, events, IPC, updater and custom protocol request handlers behind the tracing
feature flag.9aa34ada
(#7645) Add setting to switch to http://<scheme>.localhost/
for custom protocols on Windows.tauri-utils@1.5.0
tauri-runtime@0.14.1
c4d6fb4b
(#2353) Added the maximizable
, minimizable
and closable
methods to WindowBuilder
.c4d6fb4b
(#2353) Added set_maximizable
, set_minimizable
, set_closable
, is_maximizable
, is_minimizable
and is_closable
methods to the Dispatch
trait.000104bc
(#6472) Add Window::is_focused
getter.d2710e9d
(#6944) Unpin time
, ignore
, and winnow
crate versions. Developers now have to pin crates if needed themselves. A list of crates that need pinning to adhere to Tauri's MSRV will be visible in Tauri's GitHub workflow: https://github.com/tauri-apps/tauri/blob/dev/.github/workflows/test-core.yml#L85.b41b57eb
(#7105) Fix panics when registering an invalid global shortcuts or checking it is registered and return proper errors instead.additional_browser_args
option when creating a window.
content_protected
option when creating a window and Window::set_content_protected
to change it at runtime.
Builder::device_event_filter
and App::set_device_event_filter
methods.
is_minimized()
window method.
title
getter on window.
TrayHandle::set_tooltip
and SystemTray::with_tooltip
.
url()
getter.
prefers-color-scheme
support.
WindowEvent::Focused
in App::run
callback.
allowlist > app > show/hide
always disabled when allowlist > app > all: false
.
accept_first_mouse
option for macOS windows.
tabbing_identifier
option is not defined, the window is transparent or does not have decorations.
focused
method. The focus
function has been deprecated.
hidden_title
option for macOS windows.
Runtime::show()
, RuntimeHandle::show()
, Runtime::hide()
, RuntimeHandle::hide()
for hiding/showing the entire application on macOS.
SystemTray::with_menu_on_left_click
tabbing_identifier
to the window builder on macOS.
title_bar_style
option for macOS windows.
user_agent
option when creating a window.
set_cursor_grab
, set_cursor_visible
, set_cursor_icon
and set_cursor_position
APIs.
windows
map to be stored in a RefCell
instead of a Mutex
.
fileDropEnabled
value.
raw_window_handle::HasRawWindowHandle
on Linux.
tauri-runtime-wry
plugin interface.
hwnd
and ns_window
functions from Dispatch
in favor of raw_window_handle
.
stable
!
Menu::os_default
which will create a menu filled with default menu items and submenus.
TrayIcon
and renamed WindowIcon
to Icon
, a shared type for both icons.
gtk-tray
and ayatana-tray
Cargo features.
windows-rs
to 0.37.0
, which requires Rust 1.61.0+.
plugin
method to the Wry
runtime, allowing extensions to the event loop.
window_id
will be the id of the first app window.
set_size
in the main thread on Windows.
clipboard
Cargo feature.
set_cursor_grab
, set_cursor_visible
, set_cursor_icon
and set_cursor_position
.
create_tao_window
API.
global-shortcut
Cargo feature.
WindowEvent::ThemeChanged(theme)
.
theme
getter on Window
.
theme
setter to the WindowBuilder.
WindowEvent::Destroyed
not firing.
close_devtools
and is_devtools_open
APIs to the Dispatch
trait.
RunEvent::Exit
on tao::event::Event::LoopDestroyed
instead of after RunEvent::ExitRequested
.
MenuItem::About
variant is now associated with a tuple value (String, AboutMetadata)
.
WindowEvent
enum instead of a having a dedicated handler.
WindowEvent
enum on RunEvent
.
create_proxy
to the Runtime
and RuntimeHandle
traits.
tao::window::WindowId
to not block the thread waiting for the event loop to process the window creation.
wry
to 0.14
and tao
to 0.7
.
WindowEvent::FileDrop
variant.
Focused
event when the window is not visible.
ico
and png
parsing behind icon-ico
and icon-png
Cargo features.
macos-private-api
is not enabled.
RuntimeHandle
, ClipboardManager
, GlobalShortcutHandle
and TrayHandle
.
freezePrototype
configuration to false
.
window.center
panic when window size is bigger than screen size.
WindowEvent::Focus
and WindowEvent::Blur
events not firing.
remove_system_tray
on Windows to drop the SystemTray
to run its cleanup code.
WindowBuilder
's has_menu
with get_menu
.
run_return
API is now available on Linux.
macos-private-api
feature flag, enabled via tauri.conf.json > tauri > macOSPrivateApi
.
create_tao_window
API to return Weak<Window>
instead of Arc<Window>
.
any_thread
constructor on the Runtime
trait (only possible on Linux and Windows).
run_on_main_thread
API on RuntimeHandle
.
RPC
interface to IPC
.
open_devtools
to the Dispatcher
trait.
1.56
.
winapi
crate references with the windows
crate, and replace webview2
and webview2-sys
with webview2-com
and webview2-com-sys
built with the windows
crate. This goes along with updates to the TAO and WRY next
branches.
windows
crate to 0.25.0, which comes with pre-built libraries. WRY and Tao can both reference the same types directly from the windows
crate instead of sharing bindings in webview2-com-sys
.
get_content
of web resource request.
We will switch it back once upstream is updated.
Partial content
streaming and Header parsing.
Fix blur/focus events being incorrect on Windows.
Add ExitRequested
event that allows preventing the app from exiting when all windows are closed, and an AppHandle.exit()
function to exit the app manually.
Update gtk and its related libraries to v0.14. This also remove requirements of clang
as build dependency.
Implement Debug
on public API structs and enums.
Fix the error "cannot find type MenuHash in this scope"
Panic when a dispatcher getter method (Window
, GlobalShortcutHandle
, ClipboardManager
and MenuHandle
APIs) is called on the main thread.
Remove menu feature flag since there's no package dependency need to be installed on any platform anymore.
Adds Resumed
and MainEventsCleared
variants to the RunEvent
enum.
Adds set_activation_policy
API to the Runtime
trait (macOS only).
Allow creation of empty Window with create_tao_window()
and management with send_tao_window_event()
on the AppHandler.
Images you mark as template images should consist of only black and clear colors. You can use the alpha channel in the image to adjust the opacity of black content, however.
426a6b49 feat(macOS): Implement tray icon template (#2322) on 2021-07-29
Add Event::Ready
on the run()
callback. Triggered once when the event loop is ready.
Add webdriver support to Tauri.
center
and focus
not being allowed in tauri.conf.json > tauri > windows
and ignored in WindowBuilderWrapper
.
gtk_window
getter.
wry
0.11 and fix focus integration to make it compatible with tao 0.4.
Params
has been removed, along with all the associated types on it. Functions that previously accepted those
associated types now accept strings instead. Type that used a generic parameter Params
now use Runtime
instead. If
you use the wry
feature, then types with a Runtime
generic parameter should default to Wry
, letting you omit the
explicit type and let the compiler infer it instead.tauri
:
Params
noteParams
inside a function parameter or definition, all references to it have been replaced with a
simple runtime that defaults to Wry
. If you are not using a custom runtime, just remove Params
from the definition
of functions/items that previously took it. If you are using a custom runtime, you may need to pass the runtime type
to these functions.Params
(uncommon and if you don't understand you probably were not using it), all
methods that were previously taking the custom type now takes an Into<String>
or a &str
. The types were already
required to be string-able, so just make sure to convert it into a string before passing it in if this breaking change
affects you.tauri-macros
:
default_runtime
proc macro to allow us to give item definitions a custom runtime only when
the specified feature is enabled.tauri-runtime
:
Params
noteParams
, MenuId
, Tag
, TagRef
.menu::{MenuHash, MenuId, MenuIdRef}
as type aliases for the internal type that menu types now use.
MenuId
generic now use the underlying MenuId
type without a generic.Runtime
, RuntimeHandle
, and Dispatch
have no more generic parameter on create_window(...)
and instead use the
Runtime
type directlyRuntime::system_tray
has no more MenuId
generic and uses the string based SystemTray
type directly.CustomMenuItem::id_value()
is now hashed on creation and exposed as the id
field with type MenuHash
.tauri-runtime-wry
:
Params
notetauri-runtime
.tauri-utils
:
Assets::get
signature has changed to take a &AssetKey
instead of impl Into<AssetKey>
to become trait object
safe.Params
and replace with strings (#2191) on 2021-07-15Window
is now Send + Sync
on Windows.
clipboard
APIs (write and read text).
focus
API to the WindowBuilder.
is_decorated
getter on Window.
is_resizable
getter on Window.
is_visible
getter on Window.
image
dependency. For now only .ico
icons on Windows are supported, and we'll implement other types on demand to optimize bundle size.
run_on_main_thread
API now uses WRY's UserEvent, so it wakes the event loop.
request_user_attention
API to the Dispatcher
trait.
fn run_iteration
(macOS and Windows only) to the Runtime trait.
show_menu
, hide_menu
and is_menu_visible
APIs to the Dispatcher
trait.
set_focus
API on Window.
set_skip_taskbar
API on Window.
wry
to v0.10.0 and replace the removed dispatch_script
and evaluate_script
methods with the new evaluate_script
method in handle_event_loop
.
skip_taskbar
API to the WindowBuilder.
Window#center
and WindowBuilder#center
APIs.
parent_window
and owner_window
setters to the WindowBuilder
(Windows only).
system-tray
feature usage.
Context
fields are now private, and is expected to be created through Context::new(...)
.
All fields previously available through Context
are now public methods.
tauri-runtime-wry
initial release.