bevy icon indicating copy to clipboard operation
bevy copied to clipboard

Update winit requirement from 0.29 to 0.30

Open dependabot[bot] opened this issue 1 year ago • 8 comments

Updates the requirements on winit to permit the latest version.

Release notes

Sourced from winit's releases.

Winit version 0.30.0

Added

  • Add OwnedDisplayHandle type for allowing safe display handle usage outside of trivial cases.
  • Add ApplicationHandler<T> trait which mimics Event<T>.
  • Add WindowBuilder::with_cursor and Window::set_cursor which takes a CursorIcon or CustomCursor.
  • Add Sync implementation for EventLoopProxy<T: Send>.
  • Add Window::default_attributes to get default WindowAttributes.
  • Add EventLoop::builder to get EventLoopBuilder without export.
  • Add CustomCursor::from_rgba to allow creating cursor images from RGBA data.
  • Add CustomCursorExtWebSys::from_url to allow loading cursor images from URLs.
  • Add CustomCursorExtWebSys::from_animation to allow creating animated cursors from other CustomCursors.
  • Add {Active,}EventLoop::create_custom_cursor to load custom cursor image sources.
  • Add ActiveEventLoop::create_window and EventLoop::create_window.
  • Add CustomCursor which could be set via Window::set_cursor, implemented on Windows, macOS, X11, Wayland, and Web.
  • On Web, add to toggle calling Event.preventDefault() on Window.
  • On iOS, add PinchGesture, DoubleTapGesture, PanGesture and RotationGesture.
  • on iOS, use UIGestureRecognizerDelegate for fine grained control of gesture recognizers.
  • On macOS, add services menu.
  • On Windows, add with_title_text_color, and with_corner_preference on WindowAttributesExtWindows.
  • On Windows, implement resize increments.
  • On Windows, add AnyThread API to access window handle off the main thread.

Changed

  • Bump MSRV from 1.65 to 1.70.
  • On Wayland, bump sctk-adwaita to 0.9.0, which changed system library crates. This change is a cascading breaking change, you must do breaking change as well, even if you don't expose winit.
  • Rename TouchpadMagnify to PinchGesture.
  • Rename SmartMagnify to DoubleTapGesture.
  • Rename TouchpadRotate to RotationGesture.
  • Rename EventLoopWindowTarget to ActiveEventLoop.
  • Rename platform::x11::XWindowType to platform::x11::WindowType.
  • Rename VideoMode to VideoModeHandle to represent that it doesn't hold static data.
  • Make Debug formatting of WindowId more concise.
  • Move dpi types to its own crate, and re-export it from the root crate.
  • Replace log with tracing, use log feature on tracing to restore old behavior.
  • EventLoop::with_user_event now returns EventLoopBuilder.
  • On Web, return HandleError::Unavailable when a window handle is not available.
  • On Web, return RawWindowHandle::WebCanvas instead of RawWindowHandle::Web.
  • On Web, remove queuing fullscreen request in absence of transient activation.
  • On iOS, return HandleError::Unavailable when a window handle is not available.

... (truncated)

Commits
  • 4b3c065 Winit version 0.30.0
  • 0812adc Add UIGestureRecognizerDelegate and PanGestureRecogniser (#3597)
  • cd6ec19 Don't set the background color when initializing with transparency (#3657)
  • 61bd817 chore: fix some typos in comments (#3635)
  • c04c113 chore: ensure that .cargo config is not published
  • ce32a30 android: bump to ndk 0.9.0 and android-activity 0.6.0
  • 1682703 bugfix(win32): Only return win handle on OK thread
  • bdd80c8 Add .git-blame-ignore-revs
  • 7b0c7b6 chore(rustfmt): use nightly (#2325)
  • 7006c7c bugfix(android): Allow Volume* keys to be passed to the user
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

dependabot[bot] avatar May 06 '24 06:05 dependabot[bot]

I'm taking a stab at this update but I still need to figure some things out. I'll push a PR sometime this week if I have any success with it.

mnmaita avatar May 06 '24 15:05 mnmaita

@mnmaita I started taking a look, this will require a rewrite of most of the event loop. instead of one closure, Bevy now needs to pass a struct that implement a trait, and with a function by kind of event. it should be straightforward, but it will change a lot of lines.

This will need to be validated on all platforms, and Android is currently completely broken, so that's not possible...

You will also need to update access kit and access kit_winit at the same time.

mockersf avatar May 06 '24 16:05 mockersf

@mockersf thanks for the tip. What I'm wondering is if the trait has to be implemented for WinitAppRunnerState or if we need a different state struct for this... Any pointers will be very appreciated.

Regarding platforms I should be able to test it on most of them except MacOS and iOS, but I assume we can find volunteers to test in them.

mnmaita avatar May 06 '24 16:05 mnmaita

@Brezak or @pietrosophya could have opinions on that

I think it should be renamed / merged with some of the other fields used for the event loop. Up to you if you prefer to keep it as close to how it currently is, or if you want to do that refactor at the same time

mockersf avatar May 06 '24 16:05 mockersf

@mockersf thanks for the tip. What I'm wondering is if the trait has to be implemented for WinitAppRunnerState or if we need a different state struct for this... Any pointers will be very appreciated.

~A new struct would be the better option. The closure maintains more state than just runner_state. All of that would probably go into the struct~

Brezak avatar May 06 '24 16:05 Brezak

We might want to hold of on this until the non-Send stuff gets merged. It recently got picked up by @hymm.

Brezak avatar May 06 '24 16:05 Brezak

I wouldn't worry about it for now if this is coming soon. My target is to have something ready after 0.14 is released.

hymm avatar May 06 '24 18:05 hymm

Not to add pressure or anything, but after some investigation it seems Android support will be broken on Rust stable until Bevy is updated to winit 0.30 which brings android-activity 0.6

mockersf avatar May 06 '24 22:05 mockersf

I created a draft PR here.

pietrosophya avatar May 14 '24 15:05 pietrosophya

Closing this one in favor of https://github.com/bevyengine/bevy/pull/13366

mnmaita avatar May 17 '24 16:05 mnmaita

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

dependabot[bot] avatar May 17 '24 16:05 dependabot[bot]