Available nowhere.
Expand description
§0.29.15
- On X11, fix crash due to xsettings query on systems with incomplete xsettings.
§0.29.14
- On X11/Wayland, fix
textandtext_with_all_modifiersnot beingNoneduring compose. - On Wayland, don’t reapply cursor grab when unchanged.
- On X11, fix a bug where some mouse events would be unexpectedly filtered out.
§0.29.13
- On Web, fix possible crash with
ControlFlow::WaitandControlFlow::WaitUntil.
§0.29.12
- On X11, fix use after free during xinput2 handling.
- On X11, filter close to zero values in mouse device events
§0.29.11
- Fix compatibility with 32-bit platforms without 64-bit atomics.
- On macOS, fix incorrect IME cursor rect origin.
- On Windows, fixed a race condition when sending an event through the loop proxy.
- On X11, fix swapped instance and general class names.
- On X11, don’t require XIM to run.
- On X11, fix xkb state not being updated correctly sometimes leading to wrong input.
- On X11, reload dpi on
_XSETTINGS_SETTINGSupdate. - On X11, fix deadlock when adjusting DPI and resizing at the same time.
- On Wayland, disable
Occludedevent handling. - On Wayland, fix DeviceEvent::Motion not being sent
- On Wayland, fix
Focused(false)being send when other seats still have window focused. - On Wayland, fix
Window::set_{min,max}_inner_sizenot always applied. - On Wayland, fix title in CSD not updated from
AboutToWait. - On Windows, fix inconsistent resizing behavior with multi-monitor setups when repositioning outside the event loop.
- On Wayland, fix
WAYLAND_SOCKETnot used when detecting platform. - On Orbital, fix
logical_keyandtextnot reported inKeyEvent. - On Orbital, implement
KeyEventExtModifierSupplement. - On Orbital, map keys to
NamedKeywhen possible. - On Orbital, implement
set_cursor_grab. - On Orbital, implement
set_cursor_visible. - On Orbital, implement
drag_window. - On Orbital, implement
drag_resize_window. - On Orbital, implement
set_transparent. - On Orbital, implement
set_visible. - On Orbital, implement
is_visible. - On Orbital, implement
set_resizable. - On Orbital, implement
is_resizable. - On Orbital, implement
set_maximized. - On Orbital, implement
is_maximized. - On Orbital, implement
set_decorations. - On Orbital, implement
is_decorated. - On Orbital, implement
set_window_level. - On Orbital, emit
DeviceEvent::MouseMotion.
§0.29.10
- On Web, account for canvas being focused already before event loop starts.
- On Web, increase cursor position accuracy.
§0.29.9
- On X11, fix
NotSupportederror not propagated when creating event loop. - On Wayland, fix resize not issued when scale changes
- On X11 and Wayland, fix arrow up on keypad reported as
ArrowLeft. - On macOS, report correct logical key when Ctrl or Cmd is pressed.
§0.29.8
- On X11, fix IME input lagging behind.
- On X11, fix
ModifiersChangednot sent from xdotool-like input - On X11, fix keymap not updated from xmodmap.
- On X11, reduce the amount of time spent fetching screen resources.
- On Wayland, fix
Window::request_inner_sizebeing overwritten by resize. - On Wayland, fix
Window::inner_sizenot using the correct rounding.
§0.29.7
- On X11, fix
Xft.dpireload during runtime. - On X11, fix window minimize.
§0.29.6
- On Web, fix context menu not being disabled by
with_prevent_default(true). - On Wayland, fix
WindowEvent::Destroyednot being delivered after destroying window. - Fix
EventLoopExtRunOnDemand::run_on_demandnot working for consequent invocation
§0.29.5
- On macOS, remove spurious error logging when handling
Fn. - On X11, fix an issue where floating point data from the server is misinterpreted during a drag and drop operation.
- On X11, fix a bug where focusing the window would panic.
- On macOS, fix
refresh_rate_millihertz. - On Wayland, disable Client Side Decorations when
wl_subcompositoris not supported. - On X11, fix
Xft.dpidetection from Xresources. - On Windows, fix consecutive calls to
window.set_fullscreen(Some(Fullscreen::Borderless(None)))resulting in losing previous window state when eventually exiting fullscreen usingwindow.set_fullscreen(None). - On Wayland, fix resize being sent on focus change.
- On Windows, fix
set_ime_cursor_area.
§0.29.4
- Fix crash when running iOS app on macOS.
- On X11, check common alternative cursor names when loading cursor.
- On X11, reload the DPI after a property change event.
- On Windows, fix so
drag_windowanddrag_resize_windowcan be called from another thread. - On Windows, fix
set_control_flowinAboutToWaitnot being taken in account. - On macOS, send a
Resizedevent after eachScaleFactorChangedevent. - On Wayland, fix
wl_surfacebeing destroyed before associated objects. - On macOS, fix assertion when pressing
Fnkey. - On Windows, add
WindowBuilderExtWindows::with_clip_childrento controlWS_CLIPCHILDRENstyle.
§0.29.3
- On Wayland, apply correct scale to
PhysicalSizepassed inWindowBuilder::with_inner_sizewhen possible. - On Wayland, fix
RedrawRequestedbeing always sent without decorations andsctk-adwaitafeature. - On Wayland, ignore resize requests when the window is fully tiled.
- On Wayland, use
configure_boundsto constrainwith_inner_sizewhen compositor wants users to pick size. - On Windows, fix deadlock when accessing the state during
Cursor{Enter,Leave}. - On Windows, add support for
Window::set_transparent. - On macOS, fix deadlock when entering a nested event loop from an event handler.
- On macOS, add support for
Window::set_blur.
§0.29.2
- Breaking: Bump MSRV from
1.60to1.65. - Breaking: Add
Event::MemoryWarning; implemented on iOS/Android. - Breaking: Bump
ndkversion to0.8.0, ndk-sys to0.5.0,android-activityto0.5.0. - Breaking: Change default
ControlFlowfromPolltoWait. - Breaking: Move
Event::RedrawRequestedtoWindowEvent::RedrawRequested. - Breaking: Moved
ControlFlow::ExittoEventLoopWindowTarget::exit()andEventLoopWindowTarget::exiting()and removedControlFlow::ExitWithCode(_)entirely. - Breaking: Moved
ControlFlowtoEventLoopWindowTarget::set_control_flow()andEventLoopWindowTarget::control_flow(). - Breaking:
EventLoop::newandEventLoopBuilder::buildnow returnResult<Self, EventLoopError> - Breaking:
WINIT_UNIX_BACKENDwas removed in favor of standardWAYLAND_DISPLAYandDISPLAYvariables. - Breaking: on Wayland, dispatching user created Wayland queue won’t wake up the loop unless winit has event to send back.
- Breaking: remove
DeviceEvent::Text. - Breaking: Remove lifetime parameter from
EventandWindowEvent. - Breaking: Rename
Window::set_inner_sizetoWindow::request_inner_sizeand indicate if the size was applied immediately. - Breaking:
ActivationTokenDoneevent which could be requested with the newstartup_notifymodule, see its docs for more. - Breaking:
ScaleFactorChangednow contains a writer instead of a reference to update inner size. - Breaking
run() -> !has been replaced byrun() -> Result<(), EventLoopError>for returning errors without callingstd::process::exit()(#2767) - Breaking Removed
EventLoopExtRunReturn/run_returnin favor ofEventLoopExtPumpEvents/pump_eventsandEventLoopExtRunOnDemand/run_on_demand(#2767) RedrawRequestedis no longer guaranteed to be emitted afterMainEventsCleared, it is now platform-specific when the event is emitted after being requested viaredraw_request().- On Windows,
RedrawRequestedis now driven byWM_PAINTmessages which are requested viaredraw_request()
- On Windows,
- Breaking
LoopDestroyedrenamed toLoopExiting(#2900) - Breaking
RedrawEventsClearedremoved (#2900) - Breaking
MainEventsClearedremoved (#2900) - Breaking: Remove all deprecated
modifiersfields. - Breaking: Rename
DeviceEventFiltertoDeviceEventsreversing the behavior of variants. - Breaking Add
AboutToWaitevent which is emitted when the event loop is about to block and wait for new events (#2900) - Breaking: Rename
EventLoopWindowTarget::set_device_event_filtertolisten_device_events. - Breaking: Rename
Window::set_ime_positiontoWindow::set_ime_cursor_areaadding a way to set exclusive zone. - Breaking:
with_x11_visualnow takes the visual ID instead of the bare pointer. - Breaking
MouseButtonnow supportsBackandForwardvariants, emitted from mouse events on Wayland, X11, Windows, macOS and Web. - Breaking: On Web,
instantis now replaced byweb_time. - Breaking: On Web, dropped support for Safari versions below 13.1.
- Breaking: On Web, the canvas output bitmap size is no longer adjusted.
- Breaking: On Web, the canvas size is not controlled by Winit anymore and external changes to the canvas size will be reported through
WindowEvent::Resized. - Breaking: Updated
bitflagscrate version to2, which changes the API on exposed types. - Breaking:
CursorIcon::Arrowwas removed. - Breaking:
CursorIcon::Handis now namedCursorIcon::Pointer. - Breaking:
CursorIconis now used from thecursor-iconcrate. - Breaking:
WindowExtWebSys::canvas()now returns anOption. - Breaking: Overhaul keyboard input handling.
- Replace
KeyboardInputwithKeyEventandRawKeyEvent.- Change
WindowEvent::KeyboardInputto contain aKeyEvent. - Change
Event::Keyto contain aRawKeyEvent.
- Change
- Remove
Event::ReceivedCharacter. In its place, you should useKeyEvent.textin combination withWindowEvent::Ime. - Replace
VirtualKeyCodewith theKeyenum. - Replace
ScanCodewith theKeyCodeenum. - Rename
ModifiersState::LOGOtoSUPERandModifiersState::CTRLtoCONTROL. - Add
PhysicalKeywrappingKeyCodeandNativeKeyCode. - Add
KeyCodeto refer to keys (roughly) by their physical location. - Add
NativeKeyCodeto represent rawKeyCodes which Winit doesn’t understand. - Add
Keyto represent the keys after they’ve been interpreted by the active (software) keyboard layout. - Add
NamedKeyto represent the categorized keys. - Add
NativeKeyto represent rawKeys which Winit doesn’t understand. - Add
KeyLocationto tell apartKeys which usually “mean” the same thing, but can appear simultaneously in different spots on the same keyboard layout. - Add
Window::reset_dead_keysto enable application-controlled cancellation of dead key sequences. - Add
KeyEventExtModifierSupplementto expose additional (and less portable) interpretations of a given key-press. - Add
PhysicalKeyExtScancode, which lets you convert between scancodes andPhysicalKey. ModifiersChangednow uses dedicatedModifiersstruct.
- Replace
- Removed platform-specific extensions that should be retrieved through
raw-window-handletrait implementations instead:platform::windows::HINSTANCE.WindowExtWindows::hinstance.WindowExtWindows::hwnd.WindowExtIOS::ui_window.WindowExtIOS::ui_view_controller.WindowExtIOS::ui_view.WindowExtMacOS::ns_window.WindowExtMacOS::ns_view.EventLoopWindowTargetExtWayland::wayland_display.WindowExtWayland::wayland_surface.WindowExtWayland::wayland_display.WindowExtX11::xlib_window.WindowExtX11::xlib_display.WindowExtX11::xlib_screen_id.WindowExtX11::xcb_connection.
- Reexport
raw-window-handleinwindowmodule. - Add
ElementState::is_pressed. - Add
Window::pre_present_notifyto notify winit before presenting to the windowing system. - Add
Window::set_blurto request a blur behind the window; implemented on Wayland for now. - Add
Window::show_window_menuto request a titlebar/system menu; implemented on Wayland/Windows for now. - Implement
AsFd/AsRawFdforEventLoop<T>on X11 and Wayland. - Implement
PartialOrdandOrdforMouseButton. - Implement
PartialOrdandOrdon types in thedpimodule. - Make
WindowBuilderSend + Sync. - Make iOS
MonitorHandleandVideoModeusable from other threads. - Make iOS windows usable from other threads.
- On Android, add force data to touch events.
- On Android, added
EventLoopBuilderExtAndroid::handle_volume_keysto indicate that the application will handle the volume keys manually. - On Android, fix
DeviceIdto contain device id’s. - On Orbital, fix
ModifiersChangednot being sent. - On Wayland,
Window::outer_sizenow accounts for client side decorations. - On Wayland, add
Window::drag_resize_windowmethod. - On Wayland, remove
WINIT_WAYLAND_CSD_THEMEvariable. - On Wayland, fix
TouchPhase::Canceledbeing sent for moved events. - On Wayland, fix forward compatibility issues.
- On Wayland, fix initial window size not restored for maximized/fullscreened on startup window.
- On Wayland, fix maximized startup not taking full size on GNOME.
- On Wayland, fix maximized window creation and window geometry handling.
- On Wayland, fix window not checking that it actually got initial configure event.
- On Wayland, make double clicking and moving the CSD frame more reliable.
- On Wayland, support
Occludedevent with xdg-shell v6 - On Wayland, use frame callbacks to throttle
RedrawRequestedevents so redraws will align with compositor. - On Web,
ControlFlow::WaitUntilnow uses the Prioritized Task Scheduling API.setTimeout(), with a trick to circumvent throttling to 4ms, is used as a fallback. - On Web,
EventLoopProxynow implementsSend. - On Web,
Windownow implementsSendandSync. - On Web, account for CSS
padding,border, andmarginwhen getting or setting the canvas position. - On Web, add Fullscreen API compatibility for Safari.
- On Web, add
DeviceEvent::Motion,DeviceEvent::MouseWheel,DeviceEvent::ButtonandDeviceEvent::Keysupport. - On Web, add
EventLoopWindowTargetExtWebSysandPollStrategy, which allows to set different strategies forControlFlow::Poll. By default the Prioritized Task Scheduling API is used, but an option to useWindow.requestIdleCallbackis available as well. Both usesetTimeout(), with a trick to circumvent throttling to 4ms, as a fallback. - On Web, add
WindowBuilderExtWebSys::with_append()to append the canvas element to the web page on creation. - On Web, allow event loops to be recreated with
spawn. - On Web, enable event propagation.
- On Web, fix
ControlFlow::WaitUntilto never wake up before the given time. - On Web, fix
DeviceEvent::MouseMotiononly being emitted for each canvas instead of the whole window. - On Web, fix
Window:::set_fullscreendoing nothing when called outside the event loop but during transient activation. - On Web, fix pen treated as mouse input.
- On Web, fix pointer button events not being processed when a buttons is already pressed.
- On Web, fix scale factor resize suggestion always overwriting the canvas size.
- On Web, fix some
WindowBuildermethods doing nothing. - On Web, fix some
Windowmethods using incorrect HTML attributes instead of CSS properties. - On Web, fix the bfcache by not using the
beforeunloadevent and map bfcache loading/unloading toSuspended/Resumedevents. - On Web, fix touch input not gaining or losing focus.
- On Web, fix touch location to be as accurate as mouse position.
- On Web, handle coalesced pointer events, which increases the resolution of pointer inputs.
- On Web, implement
Window::focus_window(). - On Web, implement
Window::set_(min|max)_inner_size(). - On Web, implement
WindowEvent::Occluded. - On Web, never return a
MonitorHandle. - On Web, prevent clicks on the canvas to select text.
- On Web, remove any fullscreen requests from the queue when an external fullscreen activation was detected.
- On Web, remove unnecessary
Window::is_dark_mode(), which was replaced withWindow::theme(). - On Web, respect
EventLoopWindowTarget::listen_device_events()settings. - On Web, scale factor and dark mode detection are now more robust.
- On Web, send mouse position on button release as well.
- On Web, take all transient activations on the canvas and window into account to queue a fullscreen request.
- On Web, use
Window.requestAnimationFrame()to throttleRedrawRequestedevents. - On Web, use the correct canvas size when calculating the new size during scale factor change, instead of using the output bitmap size.
- On Web: fix
Window::request_redrawnot waking the event loop when called from outside the loop. - On Web: fix position of touch events to be relative to the canvas.
- On Windows, add
drag_resize_windowmethod support. - On Windows, add horizontal MouseWheel
DeviceEvent. - On Windows, added
WindowBuilderExtWindows::with_class_nameto customize the internal class name. - On Windows, fix IME APIs not working when from non event loop thread.
- On Windows, fix
CursorEnter/Leftnot being sent when grabbing the mouse. - On Windows, fix
RedrawRequestednot being delivered when callingWindow::request_redrawfromRedrawRequested. - On Windows, port to
windows-sysversion 0.48.0. - On X11, add a
with_embedded_parent_windowfunction to the window builder to allow embedding a window into another window. - On X11, fix event loop not waking up on
ControlFlow::PollandControlFlow::WaitUntil. - On X11, fix false positive flagging of key repeats when pressing different keys with no release between presses.
- On X11, set
visual_idin returnedraw-window-handle. - On iOS, add ability to change the status bar style.
- On iOS, add force data to touch events when using the Apple Pencil.
- On iOS, always wake the event loop when transitioning from
ControlFlow::PolltoControlFlow::Poll. - On iOS, send events
WindowEvent::Occluded(false),WindowEvent::Occluded(true)when application enters/leaves foreground. - On macOS, add tabbing APIs on
WindowExtMacOSandEventLoopWindowTargetExtMacOS. - On macOS, fix assertion when pressing
Globekey. - On macOS, fix crash in
window.set_minimized(false). - On macOS, fix crash when dropping
Window.