Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jul 3, 2024

This PR contains the following updates:

Package Type Update Change
windows dependencies minor 0.57.00.62.0

Release Notes

microsoft/windows-rs (windows)

v0.62.0: 62

New 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 larger windows crate. This crate also provides an optimized implementation of the standard Iterator trait for the Windows IIterator<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 larger windows 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 the windows-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 of windows-sys, now depend on the new windows-link crate instead of the older windows-targets crate. This greatly simplifies compilation and also greatly reduces the size of dependencies as the windows-link crate is tiny. The windows-bindgen crate defaults to windows-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 the windows-targets crate if you cannot change your MSRV to Rust 1.71 or later as that was the first version to stabilize raw-dylib for all Windows targets. This then lets you continue to use windows-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, and windows-collections crates for those types, as well as a number of critical fixes and improvements to features and cfg 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 larger windows crate.

  • The windows-strings crate now depends on the new windows-link crate instead of the older windows-targets crate.

  • The windows-version crate now depends on the new windows-link crate instead of the older windows-targets crate.

  • The cppwinrt crate includes minor improvements to improve build reliability.

What's Changed

New Contributors

Full Changelog: microsoft/windows-rs@0.61.0...0.62.0

v0.61.0: 61

Compare Source

Major crate updates:

  • windows 0.59.0
  • windows-core 0.59.0
    • windows-implement 0.59.0
    • windows-interface 0.59.0
  • windows-targets 0.53.0
    • windows_i686_msvc 0.53.0
    • windows_x86_64_msvc 0.53.0
    • windows_aarch64_msvc 0.53.0
    • windows_i686_gnu 0.53.0
    • windows_x86_64_gnu 0.53.0
    • windows_i686_gnullvm 0.53.0
    • windows_x86_64_gnullvm 0.53.0
    • windows_aarch64_gnullvm 0.53.0
  • windows-bindgen 0.59.0
  • windows-registry 0.4.0
  • windows-result 0.3.0
  • windows-strings 0.3.0
  • cppwinrt 0.2.0

Minor crate updates:

  • windows-version 0.1.2

Excluded:

  • windows-sys 0.59.0

Things 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 of windows-core and its dependencies, unless you include the --sys option. #​3359

  • The cppwinrt crate constitutes a major update due to streamlining the error handling. #​3415

  • The windows-registry, windows-strings, and windows-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 the windows-targets libs don't break existing code. As we're updating windows-targets anyway, I took the liberty to bump the MSRV to 1.60 - to match the latest version of windows-sys - and remove the old but unused doc macro feature. Both remained for compatibility with very old dependents of the windows-targets crate.

  • The windows-version crate receives a minor update to update its dependency on the windows-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

New Contributors

Full Changelog: microsoft/windows-rs@0.60.0...0.61.0

v0.60.0

Compare Source

This release includes an update to the windows-registry and windows-strings crates, mainly to provide various improvements to registry support for rustup.

What's Changed
New Contributors

Full Changelog: microsoft/windows-rs@0.59.0...0.60.0

v0.59.0

Compare Source

This release includes an update to the windows-sys crate only. The windows-sys crate is updated very infrequently and only when there is an explicit need to do so. The 0.59.0 release includes a rollup of API fixes, updates, and additions since the 0.52.0 release nine months ago. Notably:

Full Changelog: microsoft/windows-rs@0.52.0...0.59.0

v0.58.0

Compare Source

This release includes updates to metadata for new or fixed API definitions (#​3111, #​3136), various improvements and fixes to code generation, compliance with new Rust warnings, additional COM authoring support improvements (#​3065), limited non-Windows support (#​3135), and more.

It includes major updates to the following crates, mainly due to breaking changes in metadata for API definitions.

  • riddle 0.58.0
  • windows 0.58.0
  • windows-bindgen 0.58.0
  • windows-core 0.58.0
  • windows-implement 0.58.0
  • windows-interface 0.58.0
  • windows-metadata 0.58.0

It also includes major updates to the following utility crates.

  • windows-result 0.2.0
  • windows-registry 0.2.0

The windows-result crate now provides limited non-Windows support, and the windows-registry crate offers new lossless queries for binary and wide string values.

And it includes minor updates to the windows-targets crates, with the addition of several new APIs.

  • windows-targets 0.52.6

This release also includes the first published version of the windows-strings crate, moving the string types from the windows-core crate into a dedicated crate as a smaller dependency. It also offers an efficient HSTRING builder (#​3133).

To clarify, the only crates that continue to support limited non-Windows builds are:

  • windows-bindgen and windows-metadata for code generation on non-Windows platforms.
  • windows-core and windows-result for COM support on non-Windows platforms.

What's Changed

Full Changelog: microsoft/windows-rs@0.57.0...0.58.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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from koyashiro July 3, 2024 20:08
@renovate renovate bot changed the title fix(deps): update rust crate windows to 0.58.0 fix(deps): update rust crate windows to 0.59.0 Jan 8, 2025
@renovate renovate bot force-pushed the renovate/windows-0.x branch from e2f9e6d to 928a190 Compare January 8, 2025 16:11
@renovate renovate bot changed the title fix(deps): update rust crate windows to 0.59.0 fix(deps): update rust crate windows to 0.60.0 Feb 21, 2025
@renovate renovate bot force-pushed the renovate/windows-0.x branch from 928a190 to 5ada65a Compare February 21, 2025 17:49
@renovate renovate bot force-pushed the renovate/windows-0.x branch from 5ada65a to 3402703 Compare March 18, 2025 16:34
@renovate renovate bot changed the title fix(deps): update rust crate windows to 0.60.0 fix(deps): update rust crate windows to 0.61.0 Mar 18, 2025
@renovate renovate bot force-pushed the renovate/windows-0.x branch from 3402703 to 303c984 Compare August 10, 2025 15:00
@renovate renovate bot force-pushed the renovate/windows-0.x branch from 303c984 to ece8ca1 Compare September 6, 2025 23:08
@renovate renovate bot changed the title fix(deps): update rust crate windows to 0.61.0 fix(deps): update rust crate windows to 0.62.0 Sep 6, 2025
@renovate renovate bot force-pushed the renovate/windows-0.x branch from ece8ca1 to ce25352 Compare September 25, 2025 15:32
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate bot force-pushed the renovate/windows-0.x branch from ce25352 to 7fb836f Compare December 10, 2025 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant