0.40.0
This release includes a rollup of fixes and improvements to the Win32 metadata and many small fixes to the Rust bindings themselves. Notably, fixed-size array parameters, APIs with non-system calling conventions such as cdecl
, reproducible builds, and far more accurate import libs.
This release does not include an update to the windows-sys
crate, which remains stable and unchanged.
What's Changed
- Exclude MsHtml APIs by @kennykerr in #1925
- Replace unsafe
strlen
usage in metadata library with safe Rust by @Swatinem in #1926 - Minor FAQ tweaks by @kennykerr in #1929
- Adding documentation for factory by @BenJKuhn in #1936
- Include only Win32 features and modules in the
windows-sys
crate by @kennykerr in #1935 - Use a consistent set of dependencies across the
implement
andinterface
crates by @kennykerr in #1931 - FAQ - What APIs are included? by @kennykerr in #1933
- Declare
rust-version
forwindows-interface
crate by @kennykerr in #1930 - Provide 32-bit aliases for
SetWindowLongPtrA
andGetWindowLongPtrA
by @kennykerr in #1932 - Prefer
&T
to*const T
for Win32 input parameters by @kennykerr in #1939 - Support fixed-size array parameters by @kennykerr in #1941
- Remove hidden dead code in
windows::core
by @kennykerr in #1943 - Remove unnecessary parentheses by @riverar in #1949
- Add
aarch64-pc-windows-gnullvm
andx86_64-pc-windows-gnullvm
targets by @mati865 in #1883 - Make the output of tool_yml more deterministic across machines by @glandium in #1958
- Produce the *_gnu import libraries more deterministically by @glandium in #1967
- Remove unused binding by @kennykerr in #1976
- Remove unnecessary symbols and sections from *_gnu import libs by @glandium in #1968
- Fix msvc lib generation by @kennykerr in #1979
- Implement
Debug
forAgileReference
by @kennykerr in #1986 - Update min rust version for
windows-sys
to 1.49 by @kennykerr in #1987 - Update the faq to call out
no_std
support by @kennykerr in #1992 - Switch to custom bindings for the
windows::core
internals by @kennykerr in #1993 - Add samples readme by @kennykerr in #1991
- Remove unused
bindgen
options by @kennykerr in #1994 - Make
BOOL
,BOOLEAN
, andNTSTATUS
extensions rather than replacements by @kennykerr in #1995 - Update Win32 metadata version from 24.0.1 to 30.0.12 by @kennykerr in #1996
- Add support for calling conventions by @kennykerr in #1999
- Address nightly clippy warnings by @kennykerr in #2000
- Introduce reproducible builds with stable sorting by @kennykerr in #2003
- Adds a workaround and test for
MAKEINTRESOURCE
style constants by @kennykerr in #2007 - Remove Xaml interop namespace by @kennykerr in #2008
- Make
BSTR
a core string type by @kennykerr in #2006 - Update the win32 metadata to version 31.0.4 by @kennykerr in #2009
- Use $crate in s! and w! macros by @goffrie in #2011
- Adds
unsafe
helpers to cast from C++ or rawIUnknown
pointers to RustIUnknown
values by @kennykerr in #2010 - Update the win32 metadata to version 32.0.17 by @kennykerr in #2015
- Remove win32metadata workarounds by @kennykerr in #2017
- Misc. changes to import library generation tooling by @glandium in #2016
- Remove win32metadata workaround by @kennykerr in #2021
- Version 0.40.0 by @kennykerr in #2026
New Contributors
- @Swatinem made their first contribution in #1926
- @BenJKuhn made their first contribution in #1936
- @mati865 made their first contribution in #1883
- @glandium made their first contribution in #1958
- @goffrie made their first contribution in #2011
Full Changelog: 0.39.0...0.40.0