KEMBAR78
Release 69 by kennykerr · Pull Request #3741 · microsoft/windows-rs · GitHub
Skip to content

Conversation

@kennykerr
Copy link
Collaborator

@kennykerr kennykerr commented Sep 3, 2025

This release is focused on upgrading the ecosystem to standardize on the windows-link crate for universal raw-dylib support 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-sys to depend on windows-link and thus raw-dylib unconditionally. This is required for some internal OS and Azure scenarios. It should also meaningfully reduce build time in general since the large windows-targets import 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-link which 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-targets crate. 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 the windows-targets crate. You should instead use the windows-link crate.

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-link crate and thus raw-dylib (#3724).

The windows crate (0.62.0) is updated to target the latest windows-core crate 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-core crate.

The windows-future crate (0.3.0) is updated to target the latest windows-core crate and provides new join and when functions for simplifying async continuation (#3708).

The windows-numerics crate (0.3.0) is updated to target the latest windows-core crate.

The windows-registry crate (0.6.0) is updated to target the latest windows-link crate.

The windows-result crate (0.4.0) is updated to target the latest windows-link crate.

The windows-services crate (0.26.0) is updated to target the latest windows-link crate.

The windows-strings crate (0.5.0) is updated to target the latest windows-link crate.

The windows-threading crate (0.2.0) is updated to target the latest windows-link crate 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-link crate.

The windows-version crate (0.1.5) is updated to target the new version of the windows-link crate.

@kennykerr kennykerr merged commit 4113a57 into master Sep 4, 2025
28 checks passed
@kennykerr kennykerr deleted the release.69 branch September 4, 2025 20:26
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