Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This release is focused on upgrading the ecosystem to standardize on the windows-link crate for universal
raw-dylibsupport on Windows. This avoids all kinds of build complexity and undesirable complexity in dealing with the linker directly via import libs.To date, the only major Windows crate that still uses the older windows-targets crate for linking is the windows-sys crate. This release updates
windows-systo depend onwindows-linkand thusraw-dylibunconditionally. This is required for some internal OS and Azure scenarios. It should also meaningfully reduce build time in general since the largewindows-targetsimport lib crates no longer need to be downloaded at all.I am also using this release as an opportunity to update all of the remaining crates to use the latest version of
windows-linkwhich itself receives a major update to finally stop overwriting the ABI (#3689), fixing a cross-target compatibility issue.With this update, Rust for Windows no longer offers any crates that depend on the
windows-targetscrate. Although very stable, it will remain supported by this repo for the foreseeable future should there ever be a reason to service it. I do not however plan to provide any non-essential updates to thewindows-targetscrate. You should instead use thewindows-linkcrate.Major version updates to existing crates
The windows-bindgen crate (0.63.0) includes updated Windows metadata (#3729) and targets the latest version of the core Windows crates.
The windows-link crate (0.2.0) no longer overwrites the ABI (#3689) avoiding cross-arch incompatibility but is unfortunately a subtle breaking change.
The windows-sys crate (0.61.0) is updated to target the latest
windows-linkcrate and thusraw-dylib(#3724).The windows crate (0.62.0) is updated to target the latest
windows-corecrate and provides an API refresh for Windows metadata (#3729).The windows-core crate (0.62.0) provides a number of improvements for compatibility and target support.
The windows-collections crate (0.3.0) is updated to target the latest
windows-corecrate.The windows-future crate (0.3.0) is updated to target the latest
windows-corecrate and provides newjoinandwhenfunctions for simplifying async continuation (#3708).The windows-numerics crate (0.3.0) is updated to target the latest
windows-corecrate.The windows-registry crate (0.6.0) is updated to target the latest
windows-linkcrate.The windows-result crate (0.4.0) is updated to target the latest
windows-linkcrate.The windows-services crate (0.26.0) is updated to target the latest
windows-linkcrate.The windows-strings crate (0.5.0) is updated to target the latest
windows-linkcrate.The windows-threading crate (0.2.0) is updated to target the latest
windows-linkcrate and sports a new pool scope for lifetime management (#3696).Minor version updates to existing crates
The cppwinrt crate (0.3.3) is updated to target the new version of the
windows-linkcrate.The windows-version crate (0.1.5) is updated to target the new version of the
windows-linkcrate.