0.37.0
This release includes a host of small improvements and fixes to the windows
crate. Notably, changes to the implement
and interface
macros improve interoperability, correctness, and safety for COM and WinRT implementations.
This release does not include an update to the windows-sys
crate, which remains stable and unchanged.
What's Changed
- Avoid double allocation when passing strings via
IntoParam
by @AronParker in #1713 - Correct
compose
offset inimplement
macro by @kennykerr in #1724 - Restore nightly validation by @riverar in #1726
- Correct implementation identity for MBM and .NET compatibility by @kennykerr in #1729
- Fix interface macro to handle qualified IUnknown parent by @rylev in #1732
- Shorten IUnknown check by @rylev in #1735
- Improve
IUnknown
Unsafe Annotations by @rylev in #1734 - Improve the
Interface
trait by @rylev in #1738 - Improve Vtable implementations by @rylev in #1740
- Propose an RFCs Process by @rylev in #1731
- Add
HSTRING
compatibility testing by @kennykerr in #1749 - Simplify header handling in HSTRING by @rylev in #1747
- Use
core::ptr::write
for out params by @rylev in #1750 - Fix
ToImpl
by @rylev in #1748 - Inline
HSTRING::clear
into theDrop
impl by @rylev in #1752 - Make
cast
method produced byimplement
macro unsafe by @rylev in #1753 - Improve ABI conversion by @rylev in #1746
- Add GUID::to_u128 by @GamePad64 in #1756
- Version 0.37.0 by @kennykerr in #1765
New Contributors
- @AronParker made their first contribution in #1713
- @GamePad64 made their first contribution in #1756
Full Changelog: 0.36.1...0.37.0