-
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
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs from Renovate will soon appear from 'Mend'. Learn more here.
This PR contains the following updates:
^0.60.0
->^0.62.0
Release 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 largerwindows
crate. This crate also provides an optimized implementation of the standardIterator
trait 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 largerwindows
crate.The windows-link crate provides linker support for Windows (#3450). This is the evolution of the older
windows-targets
crate but is substantially simpler and more versatile thanks to advances in the Rust compiler since thewindows-targets
crate 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-link
crate instead of the olderwindows-targets
crate. This greatly simplifies compilation and also greatly reduces the size of dependencies as thewindows-link
crate is tiny. Thewindows-bindgen
crate defaults towindows-link
but also adds the--link
option to override this as needed. You may for example want to use--link windows_targets
if you need to stick with thewindows-targets
crate if you cannot change your MSRV to Rust 1.71 or later as that was the first version to stabilizeraw-dylib
for all Windows targets. This then lets you continue to usewindows-bindgen
until 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
windows
crate.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
transmute
calls, as well as many other critical fixes and improvements.The windows-core crate is largely unchanged but required some breaking changes to support
windows-bindgen
type 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-collections
crates for those types, as well as a number of critical fixes and improvements to features andcfg
guards (#3431), and many other small improvements.Minor updates to existing crates
The windows-result now includes the
BOOL
type (#3441) as a core type. This allows this ubiquitous type to be used without requiring a dependency on the largerwindows
crate.The windows-strings crate now depends on the new
windows-link
crate instead of the olderwindows-targets
crate.The windows-version crate now depends on the new
windows-link
crate instead of the olderwindows-targets
crate.The cppwinrt crate includes minor improvements to improve build reliability.
What's Changed
track_caller
in more places by @kennykerr in #3424set_string
to differ by @kerosina in #3412windows-bindgen
caching by @kennykerr in #3427cfg
writer by @kennykerr in #3430cfg
generation by @kennykerr in #3431Ref
unused lifetime type parameter by @kennykerr in #3433Ref
for generic type parameters by @kennykerr in #3435cfg
toSend
andSync
implementations by @kennykerr in #3438BOOL
a core type by @kennykerr in #3441EventRegistrationToken
by @kennykerr in #3445Ref
andOutRef
for C++ delegates by @kennykerr in #3447Ref
lifetime type parameter by @kennykerr in #3448windows-link
crate by @kennykerr in #3450cppwinrt
temp file by @kennykerr in #3455windows-bindgen
and reducetransmute
count by @kennykerr in #3454windows-bindgen
by @kennykerr in #3456OpenOptions
towindows-registry
by @kennykerr in #3461windows-link
to the windows-rs readme by @kennykerr in #3462no_std
by @kennykerr in #3469Iterator
forIIterator<T>
by @kennykerr in #3476windows-registry
by @kennykerr in #3482MethodDef
constructor parent resolution by @kennykerr in #3484windows-collections
crate by @kennykerr in #3483windows-numerics
crate by @kennykerr in #3488windows-future
crate by @kennykerr in #3490windows-bindgen
reference usability and default reference support by @kennykerr in #3492bindgen
by @kennykerr in #3496windows-bindgen
by @kennykerr in #3497windows-bindgen
to 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:
windows
0.59.0windows-core
0.59.0windows-implement
0.59.0windows-interface
0.59.0windows-targets
0.53.0windows_i686_msvc
0.53.0windows_x86_64_msvc
0.53.0windows_aarch64_msvc
0.53.0windows_i686_gnu
0.53.0windows_x86_64_gnu
0.53.0windows_i686_gnullvm
0.53.0windows_x86_64_gnullvm
0.53.0windows_aarch64_gnullvm
0.53.0windows-bindgen
0.59.0windows-registry
0.4.0windows-result
0.3.0windows-strings
0.3.0cppwinrt
0.2.0Minor crate updates:
windows-version
0.1.2Excluded:
windows-sys
0.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-bindgen
crate 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-core
and its dependencies, unless you include the--sys
option. #3359The
cppwinrt
crate constitutes a major update due to streamlining the error handling. #3415The
windows-registry
,windows-strings,
andwindows-result
crates are also major version updates since they include small breaking changes.The
windows-targets
crate 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-targets
libs don't break existing code. As we're updatingwindows-targets
anyway, 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-targets
crate.The
windows-version
crate receives a minor update to update its dependency on thewindows-targets
crate.Beyond these specifics, this update is the culmination of around 6 months worth of work on the
windows-rs
project. 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
std
references inwindows
andwindows-core
crates forno_std
builds by @kennykerr in #3317unwrap
helper forNTSTATUS
by @kennykerr in #3324windows-bindgen
update by @kennykerr in #3359windows-bindgen
should generateno_std
bindings by default by @kennykerr in #3366BOOLEAN
tobool
by @kennykerr in #3376transmute
for input value type parameter bindings by @kennykerr in #3377windows-bindgen
by @kennykerr in #3379track_caller
to make debuggingbindgen
build script errors easier by @kennykerr in #3383windows-bindgen
now usesRef
andOutRef
for COM interface traits by @kennykerr in #3386windows-bindgen
to supportunsafe_op_in_unsafe_fn
by @kennykerr in #3393Ref
work with more than just interface types by @kennykerr in #3394cppwinrt
should consistently panic on failure by @kennykerr in #3415track_caller
to make debuggingcppwinrt
build script errors easier by @kennykerr in #3417transmute
where 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.