winit::changelog

Module v0_23

source
Expand description

§0.23.0

  • On iOS, fixed support for the “Debug View Hierarchy” feature in Xcode.
  • On all platforms, available_monitors and primary_monitor are now on EventLoopWindowTarget rather than EventLoop to list monitors event in the event loop.
  • On Unix, X11 and Wayland are now optional features (enabled by default)
  • On X11, fix deadlock when calling set_fullscreen_inner.
  • On Web, prevent the webpage from scrolling when the user is focused on a winit canvas
  • On Web, calling window.set_cursor_icon no longer breaks HiDPI scaling
  • On Windows, drag and drop is now optional (enabled by default) and can be disabled with WindowBuilderExtWindows::with_drag_and_drop(false).
  • On Wayland, fix deadlock when calling to set_inner_size from a callback.
  • On macOS, add hide__other_applications to EventLoopWindowTarget via existing EventLoopWindowTargetExtMacOS trait. hide_other_applications will hide other applications by calling -[NSApplication hideOtherApplications: nil].
  • On android added support for run_return.
  • On MacOS, Fixed fullscreen and dialog support for run_return.
  • On Windows, fix bug where we’d try to emit MainEventsCleared events during nested win32 event loops.
  • On Web, use mouse events if pointer events aren’t supported. This affects Safari.
  • On Windows, set_ime_position is now a no-op instead of a runtime crash.
  • On Android, set_fullscreen is now a no-op instead of a runtime crash.
  • On iOS and Android, set_inner_size is now a no-op instead of a runtime crash.
  • On Android, fix ControlFlow::Poll not polling the Android event queue.
  • On macOS, add NSWindow.hasShadow support.
  • On Web, fix vertical mouse wheel scrolling being inverted.
  • On Web, implement mouse capturing for click-dragging out of the canvas.
  • On Web, fix ControlFlow::Exit not properly handled.
  • On Web (web-sys only), send WindowEvent::ScaleFactorChanged event when window.devicePixelRatio is changed.
  • Breaking: On Web, set_cursor_position and set_cursor_grab will now always return an error.
  • Breaking: PixelDelta scroll events now return a PhysicalPosition.
  • On NetBSD, fixed crash due to incorrect detection of the main thread.
  • Breaking: On X11, - key is mapped to the Minus virtual key code, instead of Subtract.
  • On macOS, fix inverted horizontal scroll.
  • Breaking: current_monitor now returns Option<MonitorHandle>.
  • Breaking: primary_monitor now returns Option<MonitorHandle>.
  • On macOS, updated core-* dependencies and cocoa.
  • Bump parking_lot to 0.11
  • On Android, bump ndk, ndk-sys and ndk-glue to 0.2. Checkout the new ndk-glue main proc attribute.
  • On iOS, fixed starting the app in landscape where the view still had portrait dimensions.
  • Deprecate the stdweb backend, to be removed in a future release
  • Breaking: Prefixed virtual key codes Add, Multiply, Divide, Decimal, and Subtract with Numpad.
  • Added Asterisk and Plus virtual key codes.
  • On Web (web-sys only), the Event::LoopDestroyed event is correctly emitted when leaving the page.
  • On Web, the WindowEvent::Destroyed event now gets emitted when a Window is dropped.
  • On Web (web-sys only), the event listeners are now removed when a Window is dropped or when the event loop is destroyed.
  • On Web, the event handler closure passed to EventLoop::run now gets dropped after the event loop is destroyed.
  • Breaking: On Web, the canvas element associated to a Window is no longer removed from the DOM when the Window is dropped.
  • On Web, WindowEvent::Resized is now emitted when Window::set_inner_size is called.
  • Breaking: Fullscreen enum now uses Borderless(Option<MonitorHandle>) instead of Borderless(MonitorHandle) to allow picking the current monitor.
  • On MacOS, fix WindowEvent::Moved ignoring the scale factor.
  • On Wayland, add missing virtual keycodes.
  • On Wayland, implement proper set_cursor_grab.
  • On Wayland, the cursor will use similar icons if the requested one isn’t available.
  • On Wayland, right clicking on client side decorations will request application menu.
  • On Wayland, fix tracking of window size after state changes.
  • On Wayland, fix client side decorations not being hidden properly in fullscreen.
  • On Wayland, fix incorrect size event when entering fullscreen with client side decorations.
  • On Wayland, fix resizable attribute not being applied properly on startup.
  • On Wayland, fix disabled repeat rate not being handled.
  • On Wayland, fix decoration buttons not working after tty switch.
  • On Wayland, fix scaling not being applied on output re-enable.
  • On Wayland, fix crash when XCURSOR_SIZE is 0.
  • On Wayland, fix pointer getting created in some cases without pointer capability.
  • On Wayland, on kwin, fix space between window and decorations on startup.
  • Breaking: On Wayland, Theme trait was reworked.
  • On Wayland, disable maximize button for non-resizable window.
  • On Wayland, added support for set_ime_position.
  • On Wayland, fix crash on startup since GNOME 3.37.90.
  • On X11, fix incorrect modifiers state on startup.