Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update rust crate winit to 0.29 #108

Merged
merged 11 commits into from
Oct 24, 2023
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 21, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
winit dev-dependencies minor 0.28 -> 0.29

Release Notes

rust-windowing/winit (winit)

v0.29.2

Compare Source

  • Breaking: Bump MSRV from 1.60 to 1.65.
  • Breaking: Add Event::MemoryWarning; implemented on iOS/Android.
  • Breaking: Bump ndk version to 0.8.0, ndk-sys to 0.5.0, android-activity to 0.5.0.
  • Breaking: Change default ControlFlow from Poll to Wait.
  • Breaking: Move Event::RedrawRequested to WindowEvent::RedrawRequested.
  • Breaking: Moved ControlFlow::Exit to EventLoopWindowTarget::exit() and EventLoopWindowTarget::exiting() and removed ControlFlow::ExitWithCode(_) entirely.
  • Breaking: Moved ControlFlow to EventLoopWindowTarget::set_control_flow() and EventLoopWindowTarget::control_flow().
  • Breaking: EventLoop::new and EventLoopBuilder::build now return Result<Self, EventLoopError>
  • Breaking: WINIT_UNIX_BACKEND was removed in favor of standard WAYLAND_DISPLAY and DISPLAY variables.
  • 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 Event and WindowEvent.
  • Breaking: Rename Window::set_inner_size to Window::request_inner_size and indicate if the size was applied immediately.
  • Breaking: ActivationTokenDone event which could be requested with the new startup_notify module, see its docs for more.
  • Breaking: ScaleFactorChanged now contains a writer instead of a reference to update inner size.
  • Breaking run() -> ! has been replaced by run() -> Result<(), EventLoopError> for returning errors without calling std::process::exit() (#​2767)
  • Breaking Removed EventLoopExtRunReturn / run_return in favor of EventLoopExtPumpEvents / pump_events and EventLoopExtRunOnDemand / run_on_demand (#​2767)
  • RedrawRequested is no longer guaranteed to be emitted after MainEventsCleared, it is now platform-specific when the event is emitted after being requested via redraw_request().
    • On Windows, RedrawRequested is now driven by WM_PAINT messages which are requested via redraw_request()
  • Breaking LoopDestroyed renamed to LoopExiting (#​2900)
  • Breaking RedrawEventsCleared removed (#​2900)
  • Breaking MainEventsCleared removed (#​2900)
  • Breaking: Remove all deprecated modifiers fields.
  • Breaking: Rename DeviceEventFilter to DeviceEvents reversing the behavior of variants.
  • Breaking Add AboutToWait event which is emitted when the event loop is about to block and wait for new events (#​2900)
  • Breaking: Rename EventLoopWindowTarget::set_device_event_filter to listen_device_events.
  • Breaking: Rename Window::set_ime_position to Window::set_ime_cursor_area adding a way to set exclusive zone.
  • Breaking: with_x11_visual now takes the visual ID instead of the bare pointer.
  • Breaking MouseButton now supports Back and Forward variants, emitted from mouse events on Wayland, X11, Windows, macOS and Web.
  • Breaking: On Web, instant is now replaced by web_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 bitflags crate version to 2, which changes the API on exposed types.
  • Breaking: CursorIcon::Arrow was removed.
  • Breaking: CursorIcon::Hand is now named CursorIcon::Pointer.
  • Breaking: CursorIcon is now used from the cursor-icon crate.
  • Breaking: WindowExtWebSys::canvas() now returns an Option.
  • Breaking: Overhaul keyboard input handling.
    • Replace KeyboardInput with KeyEvent and RawKeyEvent.
      • Change WindowEvent::KeyboardInput to contain a KeyEvent.
      • Change Event::Key to contain a RawKeyEvent.
    • Remove Event::ReceivedCharacter. In its place, you should use
      KeyEvent.text in combination with WindowEvent::Ime.
    • Replace VirtualKeyCode with the Key enum.
    • Replace ScanCode with the KeyCode enum.
    • Rename ModifiersState::LOGO to SUPER and ModifiersState::CTRL to CONTROL.
    • Add PhysicalKey wrapping KeyCode and NativeKeyCode.
    • Add KeyCode to refer to keys (roughly) by their physical location.
    • Add NativeKeyCode to represent raw KeyCodes which Winit doesn't
      understand.
    • Add Key to represent the keys after they've been interpreted by the
      active (software) keyboard layout.
    • Add NamedKey to represent the categorized keys.
    • Add NativeKey to represent raw Keys which Winit doesn't understand.
    • Add KeyLocation to tell apart Keys which usually "mean" the same thing,
      but can appear simultaneously in different spots on the same keyboard
      layout.
    • Add Window::reset_dead_keys to enable application-controlled cancellation
      of dead key sequences.
    • Add KeyEventExtModifierSupplement to expose additional (and less
      portable) interpretations of a given key-press.
    • Add PhysicalKeyExtScancode, which lets you convert between scancodes and
      PhysicalKey.
    • ModifiersChanged now uses dedicated Modifiers struct.
  • Removed platform-specific extensions that should be retrieved through raw-window-handle trait 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-handle in window module.
  • Add ElementState::is_pressed.
  • Add Window::pre_present_notify to notify winit before presenting to the windowing system.
  • Add Window::set_blur to request a blur behind the window; implemented on Wayland for now.
  • Add Window::show_window_menu to request a titlebar/system menu; implemented on Wayland/Windows for now.
  • Implement AsFd/AsRawFd for EventLoop<T> on X11 and Wayland.
  • Implement PartialOrd and Ord for MouseButton.
  • Implement PartialOrd and Ord on types in the dpi module.
  • Make WindowBuilder Send + Sync.
  • Make iOS MonitorHandle and VideoMode usable from other threads.
  • Make iOS windows usable from other threads.
  • On Android, add force data to touch events.
  • On Android, added EventLoopBuilderExtAndroid::handle_volume_keys to indicate that the application will handle the volume keys manually.
  • On Android, fix DeviceId to contain device id's.
  • On Orbital, fix ModifiersChanged not being sent.
  • On Wayland, Window::outer_size now accounts for client side decorations.
  • On Wayland, add Window::drag_resize_window method.
  • On Wayland, remove WINIT_WAYLAND_CSD_THEME variable.
  • On Wayland, fix TouchPhase::Canceled being 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 Occluded event with xdg-shell v6
  • On Wayland, use frame callbacks to throttle RedrawRequested events so redraws will align with compositor.
  • On Web, ControlFlow::WaitUntil now uses the Prioritized Task Scheduling API. setTimeout(), with a trick to circumvent throttling to 4ms, is used as a fallback.
  • On Web, EventLoopProxy now implements Send.
  • On Web, Window now implements Send and Sync.
  • On Web, account for CSS padding, border, and margin when getting or setting the canvas position.
  • On Web, add Fullscreen API compatibility for Safari.
  • On Web, add DeviceEvent::Motion, DeviceEvent::MouseWheel, DeviceEvent::Button and DeviceEvent::Key support.
  • On Web, add EventLoopWindowTargetExtWebSys and PollStrategy, which allows to set different strategies for ControlFlow::Poll. By default the Prioritized Task Scheduling API is used, but an option to use Window.requestIdleCallback is available as well. Both use setTimeout(), 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::WaitUntil to never wake up before the given time.
  • On Web, fix DeviceEvent::MouseMotion only being emitted for each canvas instead of the whole window.
  • On Web, fix Window:::set_fullscreen doing 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 WindowBuilder methods doing nothing.
  • On Web, fix some Window methods using incorrect HTML attributes instead of CSS properties.
  • On Web, fix the bfcache by not using the beforeunload event and map bfcache loading/unloading to Suspended/Resumed events.
  • On Web, fix touch input not gaining or loosing 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 with Window::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 throttle RedrawRequested events.
  • 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_redraw not 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_window method support.
  • On Windows, add horizontal MouseWheel DeviceEvent.
  • On Windows, added WindowBuilderExtWindows::with_class_name to customize the internal class name.
  • On Windows, fix IME APIs not working when from non event loop thread.
  • On Windows, fix CursorEnter/Left not being sent when grabbing the mouse.
  • On Windows, fix RedrawRequested not being delivered when calling Window::request_redraw from RedrawRequested.
  • On Windows, port to windows-sys version 0.48.0.
  • On X11, add a with_embedded_parent_window function to the window builder to allow embedding a window into another window.
  • On X11, fix event loop not waking up on ControlFlow::Poll and ControlFlow::WaitUntil.
  • On X11, fix false positive flagging of key repeats when pressing different keys with no release between presses.
  • On X11, set visual_id in returned raw-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::Poll to ControlFlow::Poll.
  • On iOS, send events WindowEvent::Occluded(false), WindowEvent::Occluded(true) when application enters/leaves foreground.
  • On macOS, add tabbing APIs on WindowExtMacOS and EventLoopWindowTargetExtMacOS.
  • On macOS, fix assertion when pressing Globe key.
  • On macOS, fix crash in window.set_minimized(false).
  • On macOS, fix crash when dropping Window.

v0.28.7

Compare Source

  • Fix window size sometimes being invalid when resizing on macOS 14 Sonoma.

v0.28.6

Compare Source

  • On macOS, fixed memory leak when getting monitor handle.
  • On macOS, fix Backspace being emitted when clearing preedit with it.

v0.28.5

Compare Source

  • On macOS, fix key_up being ignored when Ime is disabled.

v0.28.4

Compare Source

  • On macOS, fix empty marked text blocking regular input.
  • On macOS, fix potential panic when getting refresh rate.
  • On macOS, fix crash when calling Window::set_ime_position from another thread.

v0.28.3

Compare Source

  • Fix macOS memory leaks.

v0.28.2

Compare Source

  • Implement HasRawDisplayHandle for EventLoop.
  • On macOS, set resize increments only for live resizes.
  • On Wayland, fix rare crash on DPI change
  • Web: Added support for Window::theme.
  • On Wayland, fix rounding issues when doing resize.
  • On macOS, fix wrong focused state on startup.
  • On Windows, fix crash on setting taskbar when using Visual Studio debugger.
  • On macOS, resize simple fullscreen windows on windowDidChangeScreen events.

v0.28.1

Compare Source

  • On Wayland, fix crash when dropping a window in multi-window setup.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate
Copy link
Contributor Author

renovate bot commented Oct 24, 2023

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

@amrbashir amrbashir merged commit eef2465 into dev Oct 24, 2023
9 checks passed
@amrbashir amrbashir deleted the renovate/winit-0.x branch October 24, 2023 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant