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

Update winit requirement from 0.29 to 0.30 #13254

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github May 6, 2024

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 dependabot bot added the C-Dependencies A change to the crates that Bevy depends on label May 6, 2024
@mnmaita
Copy link
Member

mnmaita commented May 6, 2024

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.

@mockersf
Copy link
Member

mockersf commented May 6, 2024

@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.

@mnmaita
Copy link
Member

mnmaita commented May 6, 2024

@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.

@mockersf
Copy link
Member

mockersf commented May 6, 2024

@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

@Brezak
Copy link
Contributor

Brezak commented May 6, 2024

@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
Copy link
Contributor

Brezak commented May 6, 2024

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

@hymm
Copy link
Contributor

hymm commented May 6, 2024

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.

@mockersf
Copy link
Member

mockersf commented May 6, 2024

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

@dependabot dependabot bot force-pushed the dependabot/cargo/winit-0.30 branch from 35238e2 to 00f6457 Compare May 8, 2024 14:43
Updates the requirements on [winit](https://github.com/rust-windowing/winit) to permit the latest version.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](rust-windowing/winit@v0.29.1-beta...v0.30.0)

---
updated-dependencies:
- dependency-name: winit
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/cargo/winit-0.30 branch from 00f6457 to e24a1fa Compare May 12, 2024 21:08
@pietrosophya
Copy link
Contributor

I created a draft PR here.

@hymm hymm mentioned this pull request May 14, 2024
13 tasks
@mnmaita
Copy link
Member

mnmaita commented May 17, 2024

Closing this one in favor of #13366

@mnmaita mnmaita closed this May 17, 2024
Copy link
Contributor Author

dependabot bot commented on behalf of github May 17, 2024

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 dependabot bot deleted the dependabot/cargo/winit-0.30 branch May 17, 2024 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Dependencies A change to the crates that Bevy depends on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants