tao
Cross-platform application window creation library in Rust.
0.36.x
0.36.0
-
2b818c4e(#1288 by @Legend-Master) Breaking Change:Changed the names of the Android JNI lifecycle functions exposed by
android_binding!as follows:createtoonFirstActivityCreateonActivityCreatetoonCreatestarttoonStartresumetoonResumepausetoonPausestoptoonStop- Removed
onActivitySaveInstanceState onActivityDestroytoonDestroyonActivityLowMemorytoonLowMemory
onLowMemoryno longer takes any parameters.onFirstActivityCreateno longer takes any parameters. -
4d5005ff(#1173 by @sftse)fn set_min_inner_size,fn set_max_inner_size,fn set_inner_size_constraints,fn set_fullscreenandfn set_themeonWindowwere not properly thread-safe on Linux. -
2ff9e3e9(#1271 by @Legend-Master) FixEventLoopProxy::send_eventsometimes doesn't deliver the event until the nextEventLoopProxy::send_eventcall -
14a6dec2(#1252 by @Legend-Master) Fix getting the DPI internally leaksHDChandles on Windows. Also only callGetDCwhen on < Windows 8.1 which improves its performance. -
47d38f36(#1228 by @ushinohama966) fix(linux): map JIS keyboard specific keys (Zenkaku_Hankaku,Hiragana_Katakana,Henkan,Muhenkan) inraw_key_to_keyto prevent them from becomingKey::Unidentified. -
2ada91bf(#1254 by @tenderdeve) On macOS, re-apply the custom traffic light inset after a title change and after leaving fullscreen, so the buttons no longer jump back to their default position on those events. -
07f3742b(#1218 by @dgerhardt) On Linux, multiple issues regarding window decoration handling for Wayland have been fixed (#899, #1046, tauri-apps/tauri#6562, tauri-apps/tauri#13440, tauri-apps/tauri#13749, tauri-apps/tauri#14251, tauri-apps/tauri#14748). Title bar buttons and changing of the title should now work as expected. Furthermore, client-side decorations are no longer applied, when server-side decorations are supported. SSD are no longer applied when decorations are disabled for a window during creation. Toggling of SSD rendering for existing windows is however not supported at this time. -
dad6b990(#1266 by @FabianLars) Tao now initializesndk-contextagain. This happens in the first onActivityCreate call and uses an Application context instead of an Activity context. -
729bbcad(#1270 by @ahirner) Prevent iOS apps from aborting when UIKit lays out a Tao view while it is temporarily detached from its window. -
f2163508(#1245 by @velocitysystems) Prevent use-after-free in iOSconfigurationForConnectingSceneSessionthat crashes release builds on launch. -
3f70d07c(#1250 by @velocitysystems) Fix iPadOS 26 system window controls overlappingWKWebViewcontent by implementingpreferredWindowingControlStyleForScene:on the scene delegate and returning theminimalstyle. The optional protocol method is a no-op on iOS versions earlier than 26. -
87c46b52(#1238 by @Legend-Master) Refactored some Windows keyboard internal implementations to catch up with winit, there should not be any behavior changes, please report if you find one -
f7f8173d(#1264 by @seemoer) Release the window state lock before updating taskbar visibility on Windows to avoid a reentrantTaskbarCreateddeadlock. -
71b59efe(#1209 by @lucasfernog) Moved Android and iOS lifecycle events toWindowEvent, includingStarted,Stopped,Suspended, andResumed, so they are emitted for the specific window whose activity or scene changed lifecycle state. -
87c46b52(#1238 by @Legend-Master)WindowEvent::ReceivedImeTextevent's text is now coming fromImmGetCompositionStringWinstead of a recordingWM_CHARandWM_SYSCHARmessages -
5f209bd8(#1231 by @Legend-Master) Fixedwith_background_colordoesn't work on initial load on Windows -
c704261c(#1215 by @chuwik) Avoid Windows keyboard and IME deadlocks caused by re-entrant message processing while input state locks are held. -
5f209bd8(#1231 by @Legend-Master) Removed window subclassing on Windows
Dependencies
- Upgraded to
tao-macros@0.1.4
0.35.x
0.35.3
0.35.2
0.35.1
f3363af7(#1212 by @lucasfernog) Describe exceptions when they are raised by a JNI call.
0.35.0
-
4e7c2f4a(#1154 by @lucasfernog) Breaking change: The Android activity should now reference and call the following external functions:private external fun onActivityCreate(activity)private external fun start()private external fun resume()private external fun pause()private external fun stop()private external fun onActivitySaveInstanceState()private external fun onActivityDestroy(activity)private external fun onActivityLowMemory() -
18040018(#1146 by @JeffTsang)Event::Resumedis now only emitted when the app is actually resumed (going back to foreground) so it won't be called on app startup. -
56e9840b(#1141 by @haecker-felix) Use the Linux XDG Desktop Portal to add support for the system color scheme. Needsdbusfeature flag. -
4e7c2f4a(#1154 by @lucasfernog) Added multi-window support for iOS and Android.Leverages scenes on iOS and Activity embedding on Android.
iOS:
- Added Event::SceneRequested (on iPad the user can request a new window to be open - e.g. by long pressing the app icon and selecting "New window")
- Request new scene to be created on Window::new (if needed, main scene is detected automatically) and assign the window instance later when it gets connected
Android:
- Create new activity on Window::new (if needed, main activity is detected automatically)
- Added builder methods to determine the activity to be created
- System determines what to do with the activity (new stack, next to another one.. based on the embedding rules)
-
9cea0358(#1155 by @lucasfernog) FireEvent::Openedon Android, which now requires the activity to call the onNewIntent(intent) external function. -
18040018(#1146 by @JeffTsang) Use WillEnterForeground instead of DidBecomeActive for Event::Resumed in iOS.
0.34.x
0.34.8
0.34.7
541cf20e(#1190 by @damadczar) fix(linux): exit cleanly when GtkApplication is a remote GIO instance
0.34.6
a4837862(#1189 by @thomaseizinger) Downgrades several logs in the Windows backend from WARN to DEBUG.e1c9cb69(#1185 by @kanatapple) Prevent panics on Windows when a monitor handle becomes invalid during info retrieval.e196538f(#1165 by @Slinetrac) fix(windows): respect default app mode via registry in dark mode detectiona133504b(#1184 by @Tunglies) Replace NSString::from_str with ns_string macro in macOS. No user facing changes.
0.34.5
92e22209(#1152 by @lucasfernog) EmitEvent::LoopDestroyedon activity destroy on Android.da1514be(#1150 by @Legend-Master) Fix maximized windows have empty edges when using auto hide task bar on Windows
0.34.4
25f2c58a(#1148 by @lucasfernog) TriggerWindowEvent::Destroyedwhen the Android activity is destroyed. In this case, the app should either exit by setting the control flow toControlFlow::ExitWithCodeor NOT call the create() external function when the activity is recreated andonCreateis called, handling how to recreate the app window via a separate hook that can leverage the existing tao event loop.
0.34.3
0defcd01(#1132 by @Legend-Master) Exclude audit PDF file from the crate published to crates.io3969a1a4(#1138 by @aspcartman) On macOS, fixed an issue that caused the window background color to be applied incorrectly (typically black).28f5a96a(#1119 by @Legend-Master) FixWindowEvent::MouseWheeldoesn't account for mouse wheel speed settingsa1edbeb4(#1126 by @Legend-Master) EmitEvent::LoopDestroyedon receivingWM_ENDSESSIONmessage on Windows
0.34.2
60a47340(#1108 by @Simon-Laux) feat: MacOS: add universal applink support by implementingapplication:willContinueUserActivityWithType:andapplication:continueUserActivity:restorationHandler:, reusing the existingEvent::Opened { urls }event for the user facing api.
0.34.1
f73c70fd(#1120 by @robertrpf) AddedWindowBuilder::with_focusableto allow creating unfocusable windows.f73c70fd(#1120 by @robertrpf) AddedWindow::set_focusable.
0.34.0
773d324b(#1121 by @FabianLars) Fixed an issue that caused a panic on macOS when tao receivednilfrom the OS when trying to get the current NSScreen.ba65486a(#1107 by @Legend-Master) Fix initial position gets reset to 0 on Windows if it's accounted for the shadow4a085054(#1103 by @aurelj) Addedx11feature flag (enabled by default).
0.33.x
0.33.0
dae6d887(#1100 by @Legend-Master) Updatedwindowsto0.61.
0.32.x
0.32.8
b863d49c(#1058 by @1111mp) macOS: Addset_dock_visibilitymethod to support setting the visibility of the application in the dock.996e28df(#1090 by @lucasfernog) Fix crash when sending key event when macOS app has no window opened.dd9251a8(#1091 by @1111mp) FixWindow::theme()always returningTheme::LightandWindowEvent::ThemeChanged()not delivered on macOS.
0.32.7
0.32.6
9d1da74b(#1080 by @amrbashir) Fix crash on Windows because of missing functions on older Windows systems, regression in 0.32
0.32.5
08c9c4c6(#1078 by @amrbashir) FixWindow::set_focusregression on macOS
0.32.4
4679d683(#1056 by @dgerhardt) On Windows 11, fix incorrect window positioning and sizing onWM_DPICHANGED.
0.32.3
c91dcde7(#1075 by @Legend-Master) On Windows, fixWindow::inner_sizealways returns the restore size instead of the current size for maximized undecorated window
0.32.2
b296cf53(#1074 by @amrbashir) On Windows, addWindowExtWindows::has_undecorated_shadowto check if window has shadows for undecorated window or not.f4ec11d7(#1070 by @Legend-Master) Fix undecorated top left and right border resizing direction on Windows
0.32.1
1be722db(#1071 by @lucasfernog) Fix content protection on macOS crashing the app.
0.32.0
94afde98(#1040 by @Teddytrombone) Add missing function keys F13-F24 to linux implementation36645136(#1050 by @FabianLars) Raised MSRV to 1.748c8f0e8b(#1049 by @madsmtm) Useobjc2.6fda4984(#1048 by @madsmtm) macOS: RemoveFrom<ActivationPolicy>implementation forcocoa::appkit::NSApplicationActivationPolicy.28f728c7(#1068 by @Legend-Master) Updatewindowsto 0.605cc92980(#1052 by @amrbashir) On Windows, fix regressionWindow::inner_sizereporting larger size than what's visible for undecorated window.5cc92980(#1052 by @amrbashir) On Windows, undecorated window with shadows, now have native resize handles outside of the window client area.
0.31.x
0.31.1
0.31.0
5d6d7da0(#1017 by @amrbashir) On Windows, fix regression caused undecorated window with shadows to be slightly larger on creation.2e6cf1a4(#1022 by @Jnschrber) On Windows, fix crash on older windows versions that doesn't support dark mode.6b49f55a(#1016 by @Legend-Master) Expose raw gdk monitor throughMonitorHandleExtUnix::gdk_monitor720bd93f(#1018 by @amrbashir) On Windows, fix regression in initial window position when using logical positions.73741a75(#1008 by @amrbashir) Removeinstantdependency, changedStartCause::ResumeTimeReached,StartCause::WaitCancelledandControlFlow::WaitUntilto usestd::time::Instantinstead.fa9aaa60(#1019 by @amrbashir) On Windows, fix fullscreen for undecorated window have white borders.
Full Changelog
Version List
- v0.36.0 Jul 29, 2026
- v0.35.3 May 23, 2026
- v0.35.2 May 4, 2026
- v0.35.1 May 4, 2026
- v0.35.0 Mar 23, 2026
- v0.34.8 Mar 22, 2026
- v0.34.7 Mar 22, 2026
- v0.34.6 Mar 4, 2026
- v0.34.5 Oct 20, 2025
- v0.34.4 Oct 16, 2025
- v0.34.3 Sep 1, 2025
- v0.34.2 Aug 18, 2025
- v0.34.1 Aug 17, 2025
- v0.34.0 Jun 24, 2025
- v0.33.0 Apr 7, 2025
- v0.32.8 Mar 7, 2025
- v0.32.7 Mar 4, 2025
- v0.32.6 Feb 28, 2025
- v0.32.5 Feb 28, 2025
- v0.32.4 Feb 27, 2025
- v0.32.3 Feb 26, 2025
- v0.32.2 Feb 26, 2025
- v0.32.1 Feb 24, 2025
- v0.32.0 Feb 22, 2025
- v0.31.1 Jan 4, 2025
- v0.31.0 Dec 8, 2024
- v0.30.7 Nov 11, 2024
- v0.30.6 Nov 9, 2024
- v0.30.5 Oct 29, 2024
- v0.30.4 Oct 28, 2024
- v0.30.3 Oct 4, 2024
- v0.30.2 Sep 24, 2024
- v0.30.1 Sep 19, 2024
- v0.30.0 Sep 2, 2024
- v0.29.1 Aug 21, 2024
- v0.29.0 Aug 16, 2024
- v0.28.1 Jun 12, 2024
- v0.28.0 May 7, 2024
- v0.27.1 Apr 22, 2024
- v0.27.0 Apr 1, 2024
- v0.26.2 Mar 26, 2024
- v0.26.1 Feb 28, 2024
- v0.26.0 Feb 21, 2024
- v0.25.0 Feb 3, 2024
- v0.24.1 Jan 16, 2024
- v0.24.0 Nov 20, 2023
- v0.23.0 Oct 18, 2023
- v0.22.3 Oct 16, 2023
- v0.22.2 Aug 17, 2023
- v0.22.1 Aug 15, 2023
- v0.22.0 Aug 13, 2023
- v0.21.1 Jul 30, 2023
- v0.21.0 Jul 14, 2023
- v0.20.0 May 22, 2023
- v0.19.1 May 6, 2023
- v0.19.0 Apr 14, 2023
- v0.18.3 Mar 24, 2023
- v0.18.2 Mar 23, 2023
- v0.18.1 Feb 20, 2023
- v0.18.0 Feb 7, 2023
- v0.17.0 Jan 26, 2023
- v0.16.0 Jan 11, 2023
- v0.15.9 Jan 11, 2023
- v0.15.8 Dec 16, 2022
- v0.15.7 Dec 10, 2022
- v0.15.6 Nov 21, 2022
- v0.15.5 Nov 20, 2022
- v0.15.4 Nov 16, 2022
- v0.15.3 Nov 9, 2022
- v0.15.2 Nov 8, 2022
- v0.15.1 Nov 8, 2022
- v0.15.0 Nov 8, 2022
- v0.14.0 Sep 13, 2022
- v0.13.3 Aug 14, 2022
- v0.13.2 Aug 9, 2022
- v0.13.1 Jul 29, 2022
- v0.13.0 Jul 27, 2022
- v0.12.2 Jul 21, 2022
- v0.12.1 Jul 1, 2022
- v0.12.0 Jun 28, 2022
- v0.11.2 Jun 14, 2022
- v0.11.1 Jun 14, 2022
- v0.11.0 Jun 14, 2022
- v0.10.0 May 30, 2022
- v0.9.1 May 23, 2022
- v0.9.0 May 23, 2022
- v0.8.5 May 18, 2022
- v0.8.4 May 4, 2022
- v0.8.3 Apr 26, 2022
- v0.8.2 Apr 13, 2022
- v0.8.1 Apr 6, 2022
- v0.8.0 Apr 5, 2022
- v0.7.0 Mar 28, 2022
- v0.6.4 Mar 7, 2022
- v0.6.3 Mar 1, 2022
- v0.6.2 Feb 13, 2022
- v0.6.1 Feb 10, 2022
- v0.6.0 Feb 5, 2022
- v0.5.2 Aug 12, 2021
- v0.5.1 Aug 9, 2021
- v0.5.0 Aug 8, 2021
- v0.4.0 Jul 14, 2021
- v0.3.1 Jun 23, 2021
- v0.3.0 Jun 21, 2021
- v0.2.6 May 17, 2021
- v0.2.5 May 17, 2021
- v0.2.4 May 17, 2021
- v0.2.3 May 10, 2021
- v0.2.2 May 9, 2021
- v0.2.1 May 9, 2021
- v0.2.0 May 8, 2021
© 2026 Tauri Contributors. CC-BY / MIT