-
Notifications
You must be signed in to change notification settings - Fork 0
Update Rust crate windows to ^0.62.0 #6
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
base: master
Are you sure you want to change the base?
Conversation
Reviewer's Guide by SourceryThis pull request updates the Rust crate 'windows' from version 0.58 to 0.59 in the Cargo.toml file. The update includes several improvements and new features such as support for Arm64EC, updated bindings for the latest APIs, and more efficient code generation. The minimum supported Rust version (MSRV) is also updated to 1.60. No diagrams generated as the changes look simple and do not need a visual representation. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have skipped reviewing this pull request. Here's why:
- It seems to have been created by a bot (hey, renovate[bot]!). We assume it knows what it's doing!
- We don't review packaging changes - Let us know if you'd like us to change this.
6efb1db to
7115b3c
Compare
4acc0c8 to
7115b3c
Compare
7115b3c to
8c4c6a1
Compare
8c4c6a1 to
fa0d79f
Compare
This PR contains the following updates:
^0.60.0->^0.62.0Release Notes
microsoft/windows-rs (windows)
v0.62.0: 62New crates in this release
The windows-collections crate defines the Windows collection types like
IIterable<T>,IVector<T>,IMap<K, V>, and so on (#3483). It also includes all of the stock implementations for creating such collections (#2346, #2350, #2353). This allows these collections to be used without requiring a dependency on the largerwindowscrate. This crate also provides an optimized implementation of the standardIteratortrait for the WindowsIIterator<T>interface (#3476).The windows-future crate defines the Windows async types like
IAsyncAction,IAsyncOperation<T>, and so on (#3490). It also includes all of the stock implementations for creating such async types (#3221, #3235). This allows these async types to be used without requiring a dependency on the largerwindowscrate.The windows-link crate provides linker support for Windows (#3450). This is the evolution of the older
windows-targetscrate but is substantially simpler and more versatile thanks to advances in the Rust compiler since thewindows-targetscrate was unveiled. Notably, it does not depend on or insert any import libs and can be used with custom libraries, not only those provided by the Windows operating system. All of the crates, with the exception ofwindows-sys, now depend on the newwindows-linkcrate instead of the olderwindows-targetscrate. This greatly simplifies compilation and also greatly reduces the size of dependencies as thewindows-linkcrate is tiny. Thewindows-bindgencrate defaults towindows-linkbut also adds the--linkoption to override this as needed. You may for example want to use--link windows_targetsif you need to stick with thewindows-targetscrate if you cannot change your MSRV to Rust 1.71 or later as that was the first version to stabilizeraw-dylibfor all Windows targets. This then lets you continue to usewindows-bindgenuntil you are ready to move to a newer version of Rust.The windows-numerics crate defines the Windows numeric types to support graphics-oriented math APIs and calculations (#3488). It also also includes all of the stock implementations for overloaded operators and other transformations. This allows these numeric types to be used without requiring a dependency on the larger
windowscrate.Major updates to existing crates
The windows-bindgen crate provides a number of improvements including new diagnostics (#3498), streamlined and more capable reference support (#3497, #3492), hardened method overloading (#3477), far fewer
transmutecalls, as well as many other critical fixes and improvements.The windows-core crate is largely unchanged but required some breaking changes to support
windows-bindgentype system improvements.The windows-registry crate continues to improve with generalized support for access rights (#3482), open options (#3461), and other minor improvements.
The windows crate now delegates to the
windows-numerics,windows-future, andwindows-collectionscrates for those types, as well as a number of critical fixes and improvements to features andcfgguards (#3431), and many other small improvements.Minor updates to existing crates
The windows-result now includes the
BOOLtype (#3441) as a core type. This allows this ubiquitous type to be used without requiring a dependency on the largerwindowscrate.The windows-strings crate now depends on the new
windows-linkcrate instead of the olderwindows-targetscrate.The windows-version crate now depends on the new
windows-linkcrate instead of the olderwindows-targetscrate.The cppwinrt crate includes minor improvements to improve build reliability.
What's Changed
track_callerin more places by @kennykerr in #3424set_stringto differ by @kerosina in #3412windows-bindgencaching by @kennykerr in #3427cfgwriter by @kennykerr in #3430cfggeneration by @kennykerr in #3431Refunused lifetime type parameter by @kennykerr in #3433Reffor generic type parameters by @kennykerr in #3435cfgtoSendandSyncimplementations by @kennykerr in #3438BOOLa core type by @kennykerr in #3441EventRegistrationTokenby @kennykerr in #3445RefandOutReffor C++ delegates by @kennykerr in #3447Reflifetime type parameter by @kennykerr in #3448windows-linkcrate by @kennykerr in #3450cppwinrttemp file by @kennykerr in #3455windows-bindgenand reducetransmutecount by @kennykerr in #3454windows-bindgenby @kennykerr in #3456OpenOptionstowindows-registryby @kennykerr in #3461windows-linkto the windows-rs readme by @kennykerr in #3462no_stdby @kennykerr in #3469IteratorforIIterator<T>by @kennykerr in #3476windows-registryby @kennykerr in #3482MethodDefconstructor parent resolution by @kennykerr in #3484windows-collectionscrate by @kennykerr in #3483windows-numericscrate by @kennykerr in #3488windows-futurecrate by @kennykerr in #3490windows-bindgenreference usability and default reference support by @kennykerr in #3492bindgenby @kennykerr in #3496windows-bindgenby @kennykerr in #3497windows-bindgento improve diagnostics by @kennykerr in #3498New Contributors
Full Changelog: microsoft/windows-rs@0.61.0...0.62.0
v0.61.0: 61Compare Source
Major crate updates:
windows0.59.0windows-core0.59.0windows-implement0.59.0windows-interface0.59.0windows-targets0.53.0windows_i686_msvc0.53.0windows_x86_64_msvc0.53.0windows_aarch64_msvc0.53.0windows_i686_gnu0.53.0windows_x86_64_gnu0.53.0windows_i686_gnullvm0.53.0windows_x86_64_gnullvm0.53.0windows_aarch64_gnullvm0.53.0windows-bindgen0.59.0windows-registry0.4.0windows-result0.3.0windows-strings0.3.0cppwinrt0.2.0Minor crate updates:
windows-version0.1.2Excluded:
windows-sys0.59.0Things to keep in mind:
The tag/release names no longer map directly to the crate versions, so to find samples for a particular release requires looking at the releases page and finding the release that most recently updated a particular crate.
The
windows-bindgencrate includes the major code generation overhaul that brings many improvements - be sure to check out the PR description for more information. The resulting code gen depends on the new version ofwindows-coreand its dependencies, unless you include the--sysoption. #3359The
cppwinrtcrate constitutes a major update due to streamlining the error handling. #3415The
windows-registry,windows-strings,andwindows-resultcrates are also major version updates since they include small breaking changes.The
windows-targetscrate finally receives a major version update, the first in over a year. This is due to #3359 and #3342 potentially introducing breaking changes. Although unlikely, these updates introduced sufficient changes that make it hard to ensure that thewindows-targetslibs don't break existing code. As we're updatingwindows-targetsanyway, I took the liberty to bump the MSRV to 1.60 - to match the latest version ofwindows-sys- and remove the old but unused doc macro feature. Both remained for compatibility with very old dependents of thewindows-targetscrate.The
windows-versioncrate receives a minor update to update its dependency on thewindows-targetscrate.Beyond these specifics, this update is the culmination of around 6 months worth of work on the
windows-rsproject. The biggest improvements comes from the new code generation engine, but many other improvements are now also available for production. This includes support for many new lints, warnings, and suggestions provided by the Rust toolchain; much smaller code gen thanks to deriving many more traits; more efficient code gen; major improvements to WinRT type system and implementation support; more robust and consistent error handling; stock collection and async support; improved support for class hierarchies; and much more!In addition to "what's changed" below, check out what's changed for notes for 0.60.0 and 0.59.0 for additional changes that roll up to the crates published as part of this release.
What's Changed
stdreferences inwindowsandwindows-corecrates forno_stdbuilds by @kennykerr in #3317unwraphelper forNTSTATUSby @kennykerr in #3324windows-bindgenupdate by @kennykerr in #3359windows-bindgenshould generateno_stdbindings by default by @kennykerr in #3366BOOLEANtoboolby @kennykerr in #3376transmutefor input value type parameter bindings by @kennykerr in #3377windows-bindgenby @kennykerr in #3379track_callerto make debuggingbindgenbuild script errors easier by @kennykerr in #3383windows-bindgennow usesRefandOutReffor COM interface traits by @kennykerr in #3386windows-bindgento supportunsafe_op_in_unsafe_fnby @kennykerr in #3393Refwork with more than just interface types by @kennykerr in #3394cppwinrtshould consistently panic on failure by @kennykerr in #3415track_callerto make debuggingcppwinrtbuild script errors easier by @kennykerr in #3417transmutewhere possible by @kennykerr in #3421New Contributors
Full Changelog: microsoft/windows-rs@0.60.0...0.61.0
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.
This PR was generated by Mend Renovate. View the repository job log.