Welcome to the February 2026 edition of the Rust for Windows newsletter. This month saw steady progress across the project, with a particular focus on foundational improvements to code generation and metadata handling. The standout story for February was the rapid iteration and expansion of the new windows-rdl crate - a key piece of infrastructure for modeling and processing Windows type metadata in a more structured, Rust-native way.
Quick links
Release
Release 73 is only for the windows-metadata crate (0.60.0) and brings nine months worth of updates to the low-level metadata library for ECMA-335. This includes support for nested types (#3799), the ability to articulate and distinguish between mutable and immutable reference and pointer parameter types (#3865), support for union types (#3867), smarter indexing (#3612), and many other small improvements.
Learning series
Part 3 of the Rust for Windows video series is now available on YouTube. This is a series for Windows developers wanting to learn how to make the most of Rust on the Windows platform.
Part 3 introduces some more of the individual crates published as part of Rust for Windows.
What's next
The windows-rdl library crate is rapidly coming together to deliver the first universal API description language for Windows, a first-class metadata authoring experience directly in Rust. If you are currently struggling with MIDLRT or the Win32metadata tooling for generating metadata, be sure to reach out and I can help you figure out when you can begin to adopt 100% portable Rust tooling instead.
Whether you are defining a new API or just need to describe existing APIs, the windows-rdl crate lets you define Win32-style APIs with exported functions, structs, and unions. It lets you describe COM APIs with interfaces and inheritance. It lets you describe WinRT APIs with classes and delegates and async. And you can do it all in a single definition language and produce a single metadata file. You can then use that metadata to generate scaffolding for implementing those APIs in any language and generate bindings for calling those APIs from any language as well. This is not exclusive to Rust. Dive in to learn more:
Diving in with AI
I continue to explore uses for AI to accelerate development efforts. Rust is by design already far more productive for (human) developers, but there are things about Rust that can take developers some time to master. In particular, the windows-rs project can be quite challenging to grok as it represents the intersection of Windows internals and some of Rust's more advanced concepts.
Recently I gave Copilot the task of porting over the flagship windows-bindgen crate to the newer windows-metadata library crate. This is the future of ECMA-335 parsing and generation, but the windows-bindgen crate still depends on an older parser. The challenge with this port is that the two winmd parsers have substantially different philosophies on lifetime and usage. The first attempt bombed badly (#3911) and I was awarded the "Copilot has encountered an internal error" achievement! 🥳 I then attempted it again with a lot more specific direction on how I wanted the port to be accomplished, to avoid some earlier missteps, and after considerable guidance it was able to pull off a reasonable port in a matter of hours (#3915). Considering the domain knowledge and complexity level, it would likely have taken a developer unfamiliar with the internals of Windows and Rust and windows-rs in particular a few weeks to pull this off.
Wrapping up
And that's all for this update. Let me know what you think. What would you like to see more of? Are you using windows-rs today? Let me know so we can continue to prioritize investment in these tools and services.
Welcome to the February 2026 edition of the Rust for Windows newsletter. This month saw steady progress across the project, with a particular focus on foundational improvements to code generation and metadata handling. The standout story for February was the rapid iteration and expansion of the new windows-rdl crate - a key piece of infrastructure for modeling and processing Windows type metadata in a more structured, Rust-native way.
Quick links
Release
Release 73 is only for the windows-metadata crate (0.60.0) and brings nine months worth of updates to the low-level metadata library for ECMA-335. This includes support for nested types (#3799), the ability to articulate and distinguish between mutable and immutable reference and pointer parameter types (#3865), support for union types (#3867), smarter indexing (#3612), and many other small improvements.
Learning series
Part 3 of the Rust for Windows video series is now available on YouTube. This is a series for Windows developers wanting to learn how to make the most of Rust on the Windows platform.
Part 3 introduces some more of the individual crates published as part of Rust for Windows.
What's next
The
windows-rdllibrary crate is rapidly coming together to deliver the first universal API description language for Windows, a first-class metadata authoring experience directly in Rust. If you are currently struggling with MIDLRT or the Win32metadata tooling for generating metadata, be sure to reach out and I can help you figure out when you can begin to adopt 100% portable Rust tooling instead.Whether you are defining a new API or just need to describe existing APIs, the
windows-rdlcrate lets you define Win32-style APIs with exported functions, structs, and unions. It lets you describe COM APIs with interfaces and inheritance. It lets you describe WinRT APIs with classes and delegates and async. And you can do it all in a single definition language and produce a single metadata file. You can then use that metadata to generate scaffolding for implementing those APIs in any language and generate bindings for calling those APIs from any language as well. This is not exclusive to Rust. Dive in to learn more:windows-rdlcrate #3861Diving in with AI
I continue to explore uses for AI to accelerate development efforts. Rust is by design already far more productive for (human) developers, but there are things about Rust that can take developers some time to master. In particular, the windows-rs project can be quite challenging to grok as it represents the intersection of Windows internals and some of Rust's more advanced concepts.
Recently I gave Copilot the task of porting over the flagship windows-bindgen crate to the newer windows-metadata library crate. This is the future of ECMA-335 parsing and generation, but the
windows-bindgencrate still depends on an older parser. The challenge with this port is that the two winmd parsers have substantially different philosophies on lifetime and usage. The first attempt bombed badly (#3911) and I was awarded the "Copilot has encountered an internal error" achievement! 🥳 I then attempted it again with a lot more specific direction on how I wanted the port to be accomplished, to avoid some earlier missteps, and after considerable guidance it was able to pull off a reasonable port in a matter of hours (#3915). Considering the domain knowledge and complexity level, it would likely have taken a developer unfamiliar with the internals of Windows and Rust andwindows-rsin particular a few weeks to pull this off.Wrapping up
And that's all for this update. Let me know what you think. What would you like to see more of? Are you using
windows-rstoday? Let me know so we can continue to prioritize investment in these tools and services.