0.53.0
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
andPROPVARIANT
support has been added to thewindows-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
- Update repo readme to list main crates by @kennykerr in #2704
- Minor tooling improvements by @kennykerr in #2705
- Simplify code gen for functions that don't return a value by @kennykerr in #2706
- Adds ability to override
GetTrustLevel
return value by @kennykerr in #2714 - Remove
invalid_mut
whenwriter.std
by @ChrisDenton in #2727 - Update metadata by @riverar in #2724
- Update MSRV for
windows
crate to 1.62 by @kennykerr in #2730 - Calculate type signatures at compile time by @kennykerr in #2729
- Add doc comment for
windows::core::Error::from_win32()
by @Enyium in #2733 - Generate defaulted foundation feature dependencies by @kennykerr in #2735
- Enable workspace lints by @kennykerr in #2741
- Enable workspace lint
unused_qualifications
by @kennykerr in #2743 - Simpler associated item code gen by @kennykerr in #2744
- Update API contracts by @riverar in #2745
- Clarify
HSTRING::len
documentation by @kennykerr in #2749 - Derive
Copy
,Clone
,Default
for enums by @kennykerr in #2760 - Make the
matches
function safe by @kennykerr in #2761 - Check MSRV and prefer
Option
for propagation by @kennykerr in #2766 - Relax the build target checks in windows-targets sub-crates by @seritools in #2774
- Simplified parameter bindings and type projection by @kennykerr in #2775
- Fix tests which rely on English UI language by @kaivol in #2776
- Truncate standalone test files instead of removing by @ChrisDenton in #2778
- Implement
From<T>
andFrom<&T>
for interface hierarchies by @kennykerr in #2779 - Use signed byte for C's
char
type by @kennykerr in #2781 - Standalone code generation should collect pointer types by @kennykerr in #2785
- Add
VARIANT
andPROPVARIANT
support by @kennykerr in #2786 - Add
VT_UNKNOWN
support forVARIANT
andPROPVARIANT
by @kennykerr in #2788 - Add Windows shell sample illustrating
VARIANT
support by @kennykerr in #2789 - Adjust Win32 return value code transformation by @kennykerr in #2790
- Harden generic type parameter binding by @kennykerr in #2791
- Expand WMI sample for
ExecQuery
andExecMethod
by @kennykerr in #2794 - Limit
AssociatedEnum
attribute to input parameters by @kennykerr in #2797 - Enable workspace lint
missing_docs
by @kennykerr in #2799 - Add task dialog samples by @kennykerr in #2802
- Include
Windows.Win32.UI.Shell.Common
in thewindows-sys
crate by @kennykerr in #2804 - Omit parameter names from internal vtable definitions by @kennykerr in #2808
- Fix for test reliability by @kennykerr in #2809
- Consistent
const
functions across string types by @kennykerr in #2810 - Update Win32 metadata by @kennykerr in #2812
- Add "hello world" component sample by @kennykerr in #2814
- Add JSON validator sample by @kennykerr in #2815
- Remove old Windows 7 support code by @kennykerr in #2817
- Leaner interface representation for
windows-sys
crate by @kennykerr in #2818 - Optimize error propagation by @kennykerr in #2819
- Update dependabot to check github actions by @kennykerr in #2826
- Update yml actions by @kennykerr in #2825
- Add JSON validator sample for WinRT by @kennykerr in #2824
- Remove doc comments by @kennykerr in #2830
- Add delay load samples by @kennykerr in #2839
- Address new nightly unsafe precondition check panics by @riverar in #2841
- Improve natvis compatibility by @riverar in #2838
- Add error translation support for
std::io::Error
by @kennykerr in #2840 - Improve
HRESULT
ergonomics by @kennykerr in #2843 - Metadata generation of attributes and constants by @kennykerr in #2844
- Add "vtbl" option for low-level interface vtable generation by @kennykerr in #2845
- Add
windows-result
crate by @kennykerr in #2847 - Add
windows-registry
crate by @kennykerr in #2848 - Update repo readme with new crates by @kennykerr in #2852
- Map
TryFromIntError
toERROR_INVALID_DATA
inwindows-result
by @kennykerr in #2851 - Update Win32 metadata by @kennykerr in #2850
- Natvis cleanup following the
windows-result
crate split by @tim-weis in #2853 - Fix for new redundant import warnings in nightly Rust by @kennykerr in #2858
- Improve
HRESULT
constant literal generation by @kennykerr in #2857 - Generate features index for windows and sys crates by @riverar in #2859
- Improve
NTSTATUS
constant literal generation by @kennykerr in #2860 - Add
NTSTATUS
message formatting support to thewindows-result
crate by @kennykerr in #2861 - Simpler package layout for natvis files by @kennykerr in #2862
- String trait refactoring by @kennykerr in #2863
- Add feature search links by @kennykerr in #2865
- Add HashRouter to web app for deep links by @riverar in #2867
- Release 0.53.0 by @kennykerr in #2854
New Contributors
- @Enyium made their first contribution in #2733
- @seritools made their first contribution in #2774
Full Changelog: 0.52.0...0.53.0