0.53.0
As requested, this release updates the Windows family of crates. Notably:
- The
windows-syscrate won't be updated at this time. - The
windows-versioncrate is unchanged. - There is a minor (compatible) update to the
windows-targetscrates. - 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. VARIANTandPROPVARIANTsupport has been added to thewindows-corecrate (#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
GetTrustLevelreturn value by @kennykerr in #2714 - Remove
invalid_mutwhenwriter.stdby @ChrisDenton in #2727 - Update metadata by @riverar in #2724
- Update MSRV for
windowscrate 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_qualificationsby @kennykerr in #2743 - Simpler associated item code gen by @kennykerr in #2744
- Update API contracts by @riverar in #2745
- Clarify
HSTRING::lendocumentation by @kennykerr in #2749 - Derive
Copy,Clone,Defaultfor enums by @kennykerr in #2760 - Make the
matchesfunction safe by @kennykerr in #2761 - Check MSRV and prefer
Optionfor 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
chartype by @kennykerr in #2781 - Standalone code generation should collect pointer types by @kennykerr in #2785
- Add
VARIANTandPROPVARIANTsupport by @kennykerr in #2786 - Add
VT_UNKNOWNsupport forVARIANTandPROPVARIANTby @kennykerr in #2788 - Add Windows shell sample illustrating
VARIANTsupport 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
ExecQueryandExecMethodby @kennykerr in #2794 - Limit
AssociatedEnumattribute to input parameters by @kennykerr in #2797 - Enable workspace lint
missing_docsby @kennykerr in #2799 - Add task dialog samples by @kennykerr in #2802
- Include
Windows.Win32.UI.Shell.Commonin thewindows-syscrate by @kennykerr in #2804 - Omit parameter names from internal vtable definitions by @kennykerr in #2808
- Fix for test reliability by @kennykerr in #2809
- Consistent
constfunctions 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-syscrate 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::Errorby @kennykerr in #2840 - Improve
HRESULTergonomics 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-resultcrate by @kennykerr in #2847 - Add
windows-registrycrate by @kennykerr in #2848 - Update repo readme with new crates by @kennykerr in #2852
- Map
TryFromIntErrortoERROR_INVALID_DATAinwindows-resultby @kennykerr in #2851 - Update Win32 metadata by @kennykerr in #2850
- Natvis cleanup following the
windows-resultcrate split by @tim-weis in #2853 - Fix for new redundant import warnings in nightly Rust by @kennykerr in #2858
- Improve
HRESULTconstant literal generation by @kennykerr in #2857 - Generate features index for windows and sys crates by @riverar in #2859
- Improve
NTSTATUSconstant literal generation by @kennykerr in #2860 - Add
NTSTATUSmessage formatting support to thewindows-resultcrate 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