Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 9, 2025

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:

Package Type Update Change
windows workspace.dependencies minor ^0.60.0 -> ^0.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


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.

Copy link

sourcery-ai bot commented Jan 9, 2025

Reviewer's Guide by Sourcery

This 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

Change Details Files
Update Rust crate 'windows' from version 0.58 to 0.59
  • Updated the version of the 'windows' crate in Cargo.toml from 0.58 to 0.59
  • Added new features and improvements as per the 0.59 release notes
Cargo.toml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time. You can also use
    this command to specify where the summary should be inserted.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

@sourcery-ai sourcery-ai bot left a 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.

@renovate renovate bot changed the title Update Rust crate windows to 0.59 Update Rust crate windows to 0.60 Feb 22, 2025
@renovate renovate bot force-pushed the renovate/windows-0.x branch from 6efb1db to 7115b3c Compare February 22, 2025 03:29
@renovate renovate bot changed the title Update Rust crate windows to 0.60 Update Rust crate windows to 0.60 - autoclosed Mar 16, 2025
@renovate renovate bot closed this Mar 16, 2025
@renovate renovate bot deleted the renovate/windows-0.x branch March 16, 2025 17:45
@renovate renovate bot changed the title Update Rust crate windows to 0.60 - autoclosed Update Rust crate windows to 0.60 Mar 20, 2025
@renovate renovate bot reopened this Mar 20, 2025
@renovate renovate bot force-pushed the renovate/windows-0.x branch from 4acc0c8 to 7115b3c Compare March 20, 2025 00:14
@renovate renovate bot changed the title Update Rust crate windows to 0.60 Update Rust crate windows to ^0.61.0 Mar 20, 2025
@renovate renovate bot force-pushed the renovate/windows-0.x branch from 7115b3c to 8c4c6a1 Compare March 21, 2025 23:57
@renovate renovate bot force-pushed the renovate/windows-0.x branch from 8c4c6a1 to fa0d79f Compare September 5, 2025 23:43
@renovate renovate bot changed the title Update Rust crate windows to ^0.61.0 Update Rust crate windows to ^0.62.0 Sep 5, 2025
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.

0 participants