Skip to content

Releases: microsoft/windows-rs

0.61.0

07 Jan 15:40
5888c8c
Compare
Choose a tag to compare

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: 0.60.0...0.61.0

0.60.0

25 Sep 11:49
519ddf7
Compare
Choose a tag to compare

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: 0.59.0...0.60.0

0.59.0

30 Jul 15:24
308e08e
Compare
Choose a tag to compare

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: 0.52.0...0.59.0

0.58.0

03 Jul 19:41
db06b51
Compare
Choose a tag to compare

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: 0.57.0...0.58.0

0.57.0

07 Jun 17:42
1594788
Compare
Choose a tag to compare

This release includes updates to a number of crates.

It includes major updates to the following:

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

It also includes minor updates to the following:

  • windows-result 0.1.2
  • windows-registry 0.1.2

This includes various improvements and fixes to code generation, compliance with new Rust warnings, COM authoring support helpers, and more.

This release also includes the first published version of the cppwinrt crate.

What's Changed

New Contributors

Full Changelog: 0.56.0...0.57.0

0.56.0

12 Apr 18:20
ae896c5
Compare
Choose a tag to compare

This release includes updates to all crates except windows-sys.

It includes major updates to the following:

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

This includes various improvements and fixes to code generation, compliance with new Rust warnings, Arm64EC bindings, as well as ergonomic improvements. The riddle crate in particular now matches the version of windows-bindgen as they are inextricably linked.

It includes minor updates to the following:

  • windows-targets 0.52.5
  • windows-result 0.1.1
  • windows-registry 0.1.1
  • windows-version 0.1.1

The windows-targets crate adds support for arm64ec-pc-windows-msvc and i686-pc-windows-gnullvm. The other crates only update dependencies.

What's Changed

New Contributors

Full Changelog: 0.55.0...0.56.0

0.55.0

06 Mar 21:04
1f40da8
Compare
Choose a tag to compare

This update includes a few improvements to code generation. The following crates are being updated today:

  • windows-bindgen
  • windows-metadata
  • windows-core

What's Changed

New Contributors

Full Changelog: 0.54.0...0.55.0

0.54.0

27 Feb 20:49
148f4eb
Compare
Choose a tag to compare

This update includes a few improvements to error propagation and expanded VARIANT support.

What's Changed

Full Changelog: 0.53.0...0.54.0

0.53.0

22 Feb 14:05
Compare
Choose a tag to compare

As requested, this release updates the Windows family of crates. Notably:

  • The windows-sys crate won't be updated at this time.
  • The windows-version crate is unchanged.
  • There is a minor (compatible) update to the windows-targets crates.
  • This is the first release of the windows-result (#2847) crate and provides efficient Windows error handling and propagation with support for Win32, COM, WinRT, and NT APIs.
  • This is the first release of the windows-registry (#2848) crate and provides simple, safe, and efficient access to the Windows registry.
  • VARIANT and PROPVARIANT support has been added to the windows-core crate (#2786), making it a lot easier to work with Shell and OLE APIs.
  • Windows metadata has been updated providing additional APIs and fixes.
  • A new feature search tool is now available to quickly determine which features to enable for a given API. 
  • A number of new tutorials have been added.
  • A number of new samples have been added.
  • Many additional fixes and improvements listed below.

What's Changed

New Contributors

Full Changelog: 0.52.0...0.53.0

0.52.0

15 Nov 19:02
3a605cb
Compare
Choose a tag to compare

This release includes updates to all crates. This includes the first update to the windows-sys crate in 8 months. It also includes the first published version of the riddle tool and the windows-version crate.

What's Changed

New Contributors

Full Changelog: 0.48.5...0.52.0