-
Notifications
You must be signed in to change notification settings - Fork 407
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
Adopt windows version range >=0.54, <=0.57 #893
base: master
Are you sure you want to change the base?
Conversation
I think this needs CI checking compatibility with the oldest listed version to not be a liability. |
The |
These ranges are a good idea to the too many windows versions problem, so good catch! It's kinda outsourcing the problem of checking for compatibility to the community, but still better than having multiple versions of windows in your crate graph. I agree with @Ralith, there should be CI checks for all of the supported windows versions, and we'd probably still only want to support a limited amount to keep the number of CI checked versions down (but ideally 3-4 different versions would sufficiently avoid duplication). You'd probably do something like |
I tried using For reference, here's my demo that automatically tests |
Co-authored-by: BD103 <[email protected]>
Are there any blockers for this? Bevy currently has 4(!) different versions of |
as I've said, we should add some way in CI to test for all windows versions. |
windows
is a "heavy" crate. Duplicatewindows
versions in a tree can add precious seconds to compile times (or even minutes by some Bevy user reports). On the Bevy side, we are trying to ensure thatwindows
is only compiled once. We also believe it is in the ecosystem's best interest (and in the interest of crate owners that consumewindows
) to align their versioning with the rest of ecosystem. Therefore, I would like to encourage crate owners to adopt the following approach towindows
crate usage:We've picked 0.54 as a baseline because breaking API changes were made to use Rust Results instead of HRESULT.
I have personally tested that cpal compiles with 0.54, 0.56 (0.55 does not exist), and 0.57.