Skip to content

Release 0.61.0#3418

Merged
kennykerr merged 5 commits intomasterfrom
vnext
Jan 7, 2025
Merged

Release 0.61.0#3418
kennykerr merged 5 commits intomasterfrom
vnext

Conversation

@kennykerr
Copy link
Collaborator

@kennykerr kennykerr commented Jan 6, 2025

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. Major windows-bindgen update #3359

  • The cppwinrt crate constitutes a major update due to streamlining the error handling. cppwinrt should consistently panic on failure  #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 Major windows-bindgen update #3359 and Update Windows metadata #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!

@kennykerr kennykerr requested a review from Copilot January 6, 2025 20:25
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 39 out of 54 changed files in this pull request and generated no comments.

Files not reviewed (15)
  • crates/libs/registry/Cargo.toml: Evaluated as low risk
  • crates/libs/strings/readme.md: Evaluated as low risk
  • crates/libs/implement/Cargo.toml: Evaluated as low risk
  • crates/libs/strings/Cargo.toml: Evaluated as low risk
  • crates/libs/registry/readme.md: Evaluated as low risk
  • crates/libs/result/Cargo.toml: Evaluated as low risk
  • crates/libs/result/readme.md: Evaluated as low risk
  • .github/workflows/lib.yml: Evaluated as low risk
  • crates/libs/targets/src/lib.rs: Evaluated as low risk
  • crates/libs/bindgen/Cargo.toml: Evaluated as low risk
  • crates/libs/core/Cargo.toml: Evaluated as low risk
  • crates/libs/interface/Cargo.toml: Evaluated as low risk
  • crates/libs/targets/readme.md: Evaluated as low risk
  • crates/libs/cppwinrt/Cargo.toml: Evaluated as low risk
  • crates/libs/core/readme.md: Evaluated as low risk

@kennykerr kennykerr merged commit 5888c8c into master Jan 7, 2025
@kennykerr kennykerr deleted the vnext branch January 7, 2025 15:09
@glandium
Copy link
Contributor

Did you mean to undo #2868 in the release commit?

@kennykerr
Copy link
Collaborator Author

Yes, 0.53 was a major update and no longer needed to carry this compatibility fix.

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.

3 participants