Releases: microsoft/windows-rs
61
Major crate updates:
windows0.59.0windows-core0.59.0windows-implement0.59.0windows-interface0.59.0
windows-targets0.53.0windows_i686_msvc0.53.0windows_x86_64_msvc0.53.0windows_aarch64_msvc0.53.0windows_i686_gnu0.53.0windows_x86_64_gnu0.53.0windows_i686_gnullvm0.53.0windows_x86_64_gnullvm0.53.0windows_aarch64_gnullvm0.53.0
windows-bindgen0.59.0windows-registry0.4.0windows-result0.3.0windows-strings0.3.0cppwinrt0.2.0
Minor crate updates:
windows-version0.1.2
Excluded:
windows-sys0.59.0
Things to keep in mind:
-
The tag/release names no longer map directly to the crate versions, so to find samples for a particular release requires looking at the releases page and finding the release that most recently updated a particular crate.
-
The
windows-bindgencrate includes the major code generation overhaul that brings many improvements - be sure to check out the PR description for more information. The resulting code gen depends on the new version ofwindows-coreand its dependencies, unless you include the--sysoption. #3359 -
The
cppwinrtcrate constitutes a major update due to streamlining the error handling. #3415 -
The
windows-registry,windows-strings,andwindows-resultcrates are also major version updates since they include small breaking changes. -
The
windows-targetscrate finally receives a major version update, the first in over a year. This is due to #3359 and #3342 potentially introducing breaking changes. Although unlikely, these updates introduced sufficient changes that make it hard to ensure that thewindows-targetslibs don't break existing code. As we're updatingwindows-targetsanyway, I took the liberty to bump the MSRV to 1.60 - to match the latest version ofwindows-sys- and remove the old but unused doc macro feature. Both remained for compatibility with very old dependents of thewindows-targetscrate. -
The
windows-versioncrate receives a minor update to update its dependency on thewindows-targetscrate. -
Beyond these specifics, this update is the culmination of around 6 months worth of work on the
windows-rsproject. The biggest improvements comes from the new code generation engine, but many other improvements are now also available for production. This includes support for many new lints, warnings, and suggestions provided by the Rust toolchain; much smaller code gen thanks to deriving many more traits; more efficient code gen; major improvements to WinRT type system and implementation support; more robust and consistent error handling; stock collection and async support; improved support for class hierarchies; and much more!
In addition to "what's changed" below, check out what's changed for notes for 0.60.0 and 0.59.0 for additional changes that roll up to the crates published as part of this release.
What's Changed
- Remove improper_ctypes workaround by @ChrisDenton in #3296
- Bump rollup from 2.79.1 to 2.79.2 in /web/features by @dependabot in #3299
- Update jsonschema requirement from 0.20 to 0.21 by @dependabot in #3301
- Address Rust nightly compiler warnings by @kennykerr in #3311
- Update jsonschema requirement from 0.21 to 0.22 by @dependabot in #3310
- Update workflows to ignore paths on pull request by @riverar in #3312
- Fix remaining
stdreferences inwindowsandwindows-corecrates forno_stdbuilds by @kennykerr in #3317 - Bump cookie and express in /web/features by @dependabot in #3318
- Fix nested struct sort order by @kennykerr in #3321
- Update jsonschema requirement from 0.22 to 0.23 by @dependabot in #3323
- Add
unwraphelper forNTSTATUSby @kennykerr in #3324 - Bump http-proxy-middleware from 2.0.6 to 2.0.7 in /web/features by @dependabot in #3331
- Remove "implement" feature by @kennykerr in #3333
- Update web workflow by @riverar in #3344
- Update Windows metadata by @riverar in #3342
- Bump cross-spawn from 7.0.3 to 7.0.6 in /web/features by @dependabot in #3347
- fix: remove use of std in windows-strings h! macro by @vthib in #3356
- Major
windows-bindgenupdate by @kennykerr in #3359 - Harden reg-free class activation by @kennykerr in #3365
- Simpler bindings generation by @kennykerr in #3367
windows-bindgenshould generateno_stdbindings by default by @kennykerr in #3366- Prefer optional over convertible parameters by @kennykerr in #3368
- Remove unused extensions by @kennykerr in #3369
- Simpler code generation by @kennykerr in #3370
- Update dependencies by @kennykerr in #3374
- Simpler code gen for Boolean parameters by @kennykerr in #3373
- Remap
BOOLEANtoboolby @kennykerr in #3376 - Avoid generating
transmutefor input value type parameter bindings by @kennykerr in #3377 - Fix macro docs by @kennykerr in #3378
- Streamline error handling in
windows-bindgenby @kennykerr in #3379 - Improve WinRT event representation and testing by @kennykerr in #3382
- Use
track_callerto make debuggingbindgenbuild script errors easier by @kennykerr in #3383 windows-bindgennow usesRefandOutReffor COM interface traits by @kennykerr in #3386- Add static event test/sample for WinRT by @kennykerr in #3389
- Verify param direction by @kennykerr in #3390
- Ensure external references to static factories are generated correctly by @kennykerr in #3392
- Update
windows-bindgento supportunsafe_op_in_unsafe_fnby @kennykerr in #3393 - Make
Refwork with more than just interface types by @kennykerr in #3394 - Add PR preview deployments to web workflow by @riverar in #3395
- Adjust web workflow to use gh-pages branch by @riverar in #3397
- Streamline CRA deps and webpack config by @riverar in #3396
- Address nightly clippy warnings about operator precedence by @kennykerr in #3414
- Detect unsupported array parameters by @iancormac84 in #3402
cppwinrtshould consistently panic on failure by @kennykerr in #3415- Shorten sample crate names by @kennykerr in #3416
- Use
track_callerto make debuggingcppwinrtbuild script errors easier by @kennykerr in #3417 - Fix provenance in direct32 sample by @ChrisDenton in #3419
- Update web workflow to use external origin by @riverar in #3420
- Avoid
transmutewhere possible by @kennykerr in #3421 - Update GitHub Actions runners by @kennykerr in #3423
- Improve feature search UX, add dark mode, and update deps by @riverar in #3422
- Release 0.61.0 by @kennykerr in #3418
New Contributors
- @iancormac84 made their first contribution in #3402
Full Changelog: 0.60.0...0.61.0
0.60.0
This release includes an update to the windows-registry and windows-strings crates, mainly to provide various improvements to registry support for rustup.
What's Changed
- Add precise registry types and allocation-free queries and updates by @kennykerr in #3184
- Add registry
Valueto/fromHSTRINGconversion by @kennykerr in #3190 - Replace
From<&str>forGUIDwithTryFrom<&str>by @kennykerr in #3193 - Remove uneeded feature dependencies by @kennykerr in #3201
- docs: add root level documentation for all libraries by @Nerixyz in #3202
- Cleanup doc testing by @Nerixyz in #3205
- Revert cfg doc by @kennykerr in #3206
- Remove workaround for "unused" private fields by @kennykerr in #3207
- Immutable Event implementation by @lifers in #3198
- Always treat warnings as errors by @kennykerr in #3210
- Consistent allocation failure handling by @kennykerr in #3209
- Improve class hierarchy support by @kennykerr in #3212
- Consistent allocation failure for stock collections by @kennykerr in #3216
- Consistent allocation failure for
windows-registryby @kennykerr in #3215 - Add default "std" feature for
windows-registrycrate by @kennykerr in #3214 - Overhaul async and future support by @kennykerr in #3213
- Addressing new nightly Clippy warning by @kennykerr in #3222
- Add async
readysupport by @kennykerr in #3221 - Bump micromatch from 4.0.5 to 4.0.8 in /web/features by @dependabot in #3223
- Add file dialog sample by @kennykerr in #3226
- Use relative path for extension by @glandium in #3224
- Simplify trait bounds for interface implementations by @kennykerr in #3227
- Remove unnecessary closure from generated code by @kennykerr in #3228
- Bump webpack from 5.90.2 to 5.94.0 in /web/features by @dependabot in #3236
- Add async
spawnsupport by @kennykerr in #3235 - Nightly Clippy warning about assumed lifetime by @kennykerr in #3243
- Regenerate GNU libs by @riverar in #3241
- Add support for composable constructors by @kennykerr in #3246
- Use workspace dependencies where practical by @kennykerr in #3248
- Add test folders by @kennykerr in #3252
- Improve interop testing by @kennykerr in #3253
- Avoid deriving
Eqfor structs containing floating point type parameters by @kennykerr in #3255 - Add test for composable type authoring support by @kennykerr in #3259
- Factory cache statics don't need to be public by @kennykerr in #3261
- Allow
noexceptmethods in a composable hierarchy by @kennykerr in #3262 - Group more of the WinRT tests together by @kennykerr in #3263
- Remove "riddle" and metadata generation by @kennykerr in #3266
- Improvements to
windows-metadataby @kennykerr in #3268 - We can now derive
EqandPartialEqfor structs containing callbacks by @kennykerr in #3270 - Simpler "retval" heuristic by @kennykerr in #3271
- Test error handling for
windows-bindgencrate by @kennykerr in #3272 - Exclude
webon most workflows by @kennykerr in #3279 - Bump serve-static and express in /web/features by @dependabot in #3274
- Update jsonschema requirement from 0.18 to 0.19 by @dependabot in #3283
- Move
VARIANTsupport to thewindowscrate by @kennykerr in #3282 - Update
jsonschemadependency by @kennykerr in #3286 - Expand
raw-dylibtesting by @kennykerr in #3287 - Fix for
cppwinrtconcurrency issue by @kennykerr in #3289 - Address Rust nightly compiler warnings by @kennykerr in #3292
- Add
Derefimplementation forHSTRINGby @kennykerr in #3291 - Release 0.60.0 by @kennykerr in #3293
New Contributors
Full Changelog: 0.59.0...0.60.0
0.59.0
This release includes an update to the windows-sys crate only. The windows-sys crate is updated very infrequently and only when there is an explicit need to do so. The 0.59.0 release includes a rollup of API fixes, updates, and additions since the 0.52.0 release nine months ago. Notably:
- This update introduces support for Arm64EC (#2957)
- Updated bindings for the latest APIs https://github.com/microsoft/windows-rs/tree/0.59.0/crates/libs/bindgen/default
- Derive standard traits (#3041)
- Updates to code generation to handle newer Rust warnings and lints
- Overall smaller crate and more efficient code gen to reduce build time
- Support for feature search https://microsoft.github.io/windows-rs/features/#/0.59.0
- MSRV is updated to 1.60
Full Changelog: 0.52.0...0.59.0
0.58.0
This release includes updates to metadata for new or fixed API definitions (#3111, #3136), various improvements and fixes to code generation, compliance with new Rust warnings, additional COM authoring support improvements (#3065), limited non-Windows support (#3135), and more.
It includes major updates to the following crates, mainly due to breaking changes in metadata for API definitions.
riddle0.58.0windows0.58.0windows-bindgen0.58.0windows-core0.58.0windows-implement0.58.0windows-interface0.58.0windows-metadata0.58.0
It also includes major updates to the following utility crates.
windows-result0.2.0windows-registry0.2.0
The windows-result crate now provides limited non-Windows support, and the windows-registry crate offers new lossless queries for binary and wide string values.
And it includes minor updates to the windows-targets crates, with the addition of several new APIs.
windows-targets0.52.6
This release also includes the first published version of the windows-strings crate, moving the string types from the windows-core crate into a dedicated crate as a smaller dependency. It also offers an efficient HSTRING builder (#3133).
To clarify, the only crates that continue to support limited non-Windows builds are:
windows-bindgenandwindows-metadatafor code generation on non-Windows platforms.windows-coreandwindows-resultfor COM support on non-Windows platforms.
What's Changed
- Fix default
rustfmtfor repo by @kennykerr in #3084 - Simplify standalone test by calling
windows-bindgendirectly by @kennykerr in #3086 - Disable docs and tests for test crates by @kennykerr in #3085
- Simplify pointer writes in generated code by @kennykerr in #3089
- Infer return type in generated bindings by @kennykerr in #3090
- Allow
windows-resultto work on non-Windows platforms by @sivadeilra in #3082 - Change tests/standalone so that a tool regenerates its sources by @sivadeilra in #3091
- Bump braces from 3.0.2 to 3.0.3 in /web/features by @dependabot in #3092
- Use malloc on non-Windows platforms by @sivadeilra in #3095
- COM interface impls move from MyApp to MyApp_Impl ("outer" object) by @sivadeilra in #3065
- Workaround for false dead code warning by @kennykerr in #3098
- The
Debugderive macro does not need to be qualified by @kennykerr in #3097 - Harden detection of missing nested types by @kennykerr in #3099
- Use tools to generate bindings for library crates by @kennykerr in #3102
- Allow
unusedto deal with new warning about "unused" private fields in structs by @kennykerr in #3103 - Remove
miodependency by @kennykerr in #3107 - Support some edge cases for the next Win32 metadata update by @kennykerr in #3109
- Simplify how extension code for
windowscrate works by @sivadeilra in #3110 - Directly invoke bindgen instead of recursively calling
cargo run ...by @sivadeilra in #3113 - Update Win32 metadata by @kennykerr in #3111
- Don't compile
windowsandwindows-sysin unit test mode by @sivadeilra in #3112 - Remove unused dependencies by @kennykerr in #3117
- Test cross-compilation with stable gnullvm targets by @mati865 in #3104
- Add flexible registry type and byte query support by @kennykerr in #3120
- Remove unnecessary test cfg checks by @kennykerr in #3124
- Add
windows-stringscrate by @kennykerr in #3125 - Lock down
windows-coreinternals by @kennykerr in #3129 - Remove "std" writer from
windows-bindgenby @kennykerr in #3130 - Allow
ErrorandResult<()>to be the same size asHRESULTby @sivadeilra in #3126 - Remove boxing support from
windows-corecrate by @kennykerr in #3131 - Use conventional testing for
windows_slim_errorsby @kennykerr in #3132 - Clarify support for non-Windows targets by @kennykerr in #3135
- Add
HSTRINGbuilder and registry support by @kennykerr in #3133 - Update Windows metadata to 10.0.26100.1 by @kennykerr in #3136
- Implement
SendandSyncforWeak<T>by @kennykerr in #3138 - Remove
Futureimplementation by @kennykerr in #3142 - Ensure that
HSTRINGbuilder provides initialized memory by @kennykerr in #3141 - Make new
windows-stringscrate Windows-only by @kennykerr in #3143 - Release 0.58.0 by @kennykerr in #3140
Full Changelog: 0.57.0...0.58.0
0.57.0
This release includes updates to a number of crates.
It includes major updates to the following:
riddle0.57.0windows0.57.0windows-bindgen0.57.0windows-core0.57.0windows-implement0.57.0windows-interface0.57.0windows-metadata0.57.0
It also includes minor updates to the following:
windows-result0.1.2windows-registry0.1.2
This includes various improvements and fixes to code generation, compliance with new Rust warnings, COM authoring support helpers, and more.
This release also includes the first published version of the cppwinrt crate.
What's Changed
- Workflow improvements by @kennykerr in #2994
- Workflow improvements 2 by @kennykerr in #2998
- Workflow improvements 3 by @kennykerr in #3000
- Workflow improvements 4 by @kennykerr in #3001
- Add
as_rawtowindows-registryby @kennykerr in #3003 - Add Linux smoke test by @kennykerr in #3005
- Add non-windows support for PWSTR and PCWSTR by @tyilo in #3004
- Use generated
E_POINTERconstant inwindows-coreby @kennykerr in #3008 - Use prebuilt gnullvm target by @mati865 in #3007
- Eliminate default features for JSON samples by @kennykerr in #3012
- Add support for freeing handles automatically by @kennykerr in #3013
- Addressing feedback on handle ownership by @kennykerr in #3014
- Bump ejs from 3.1.9 to 3.1.10 in /web/features by @dependabot in #3017
- Reconfigure environment for GNU toolchain by @riverar in #3019
- Remove workaround for empty structs by @kennykerr in #3016
- Derive
Copy,Clone, andDebugfor handles by @kennykerr in #3015 - Fix for Clippy
HSTRINGinterior mutability warnings in nightly by @riverar in #3021 - Handle new
unexpected_cfgswarnings by @kennykerr in #3022 - Update jsonschema requirement from 0.17 to 0.18 by @dependabot in #3023
- Add
RefandOutRefto enhance COM authoring support by @kennykerr in #3025 - Simplify derefencing
Refinterface parameters by @kennykerr in #3027 - Add
from_rawtowindows-registryby @kennykerr in #3034 - Simplify
windows-registryreadme by @kennykerr in #3035 - Type name deferral in
windows-metadataandwindows-bindgenby @kennykerr in #3039 - Streamline
TypeNameto support pattern matching by @kennykerr in #3040 - Derive standard traits for structs by @kennykerr in #3041
- Add missing MSRV workflows for newer lib crates by @kennykerr in #3042
- Provide an explicit
ComObject<T>type that represents a heap-allocated COM object by @sivadeilra in #3043 - bindgen/default: Improve formatting of the readme by @MarijnS95 in #3045
- Allow windows, windows_core (and several other crates) to be compiled and used in no_std environments. by @sivadeilra in #3047
- Add simple C++ test by @kennykerr in #3046
- Fix soundness hole in ComObject by @sivadeilra in #3051
- Re-enable
unexpected_cfgsby @ChrisDenton in #3050 - Add
no-default-featuresyml workflow by @kennykerr in #3053 - Fix alignment issue in
windows-registryvalue iterator by @kennykerr in #3052 - Dynamic casting to COM implementation by @sivadeilra in #3055
- Switch to
windows-2022hosted runners by @kennykerr in #3056 - Add
cppwinrtcrate and sample by @kennykerr in #3054 - Fix handling of COM interfaces with same method name by @sivadeilra in #3059
- Fix bug in COM interface chain support by @sivadeilra in #3060
- Fix Debug impls for COM interfaces by @sivadeilra in #3066
- Use default rustfmt config for most crates by @sivadeilra in #3064
- Check for null pointers in core
IInspectableimplementation by @kennykerr in #3057 - Fix warnings from Rust 1.80.0 nightly by @sivadeilra in #3074
- Remove
unused_qualificationsentirely by @kennykerr in #3078 - Optimize
IUnknownidentity checks by @sivadeilra in #3073 - Add WinRT
noexceptsupport by @kennykerr in #3070 - Release 0.57.0 by @kennykerr in #3081
New Contributors
- @tyilo made their first contribution in #3004
- @sivadeilra made their first contribution in #3043
Full Changelog: 0.56.0...0.57.0
0.56.0
This release includes updates to all crates except windows-sys.
It includes major updates to the following:
riddle0.56.0windows0.56.0windows-bindgen0.56.0windows-core0.56.0windows-implement0.56.0windows-interface0.56.0windows-metadata0.56.0
This includes various improvements and fixes to code generation, compliance with new Rust warnings, Arm64EC bindings, as well as ergonomic improvements. The riddle crate in particular now matches the version of windows-bindgen as they are inextricably linked.
It includes minor updates to the following:
windows-targets0.52.5windows-result0.1.1windows-registry0.1.1windows-version0.1.1
The windows-targets crate adds support for arm64ec-pc-windows-msvc and i686-pc-windows-gnullvm. The other crates only update dependencies.
What's Changed
- Avoid
windowscrate dependency inimplementandinterfacemacros by @kennykerr in #2917 - Simplify version declarations in toml and readme files by @kennykerr in #2918
- Format extension files by @kennykerr in #2919
- Riddle 0.3 by @kennykerr in #2920
- Hash impl for HSTRING by @zardini123 in #2924
- Fix generic class signature calculation by @kennykerr in #2927
- Defer module name lowercase conversion for Windows by @kennykerr in #2934
- Document
Paramtrait by @kennykerr in #2938 - Add diff check after workflow test run by @kennykerr in #2940
- Update
windows-coreto generate its own bindings by @kennykerr in #2941 - Fix for new Rust nightly warnings related to dead code by @kennykerr in #2951
- Update gnullvm libraries by @riverar in #2953
- Add 0.54.0 to feature search app by @riverar in #2950
- Prep for type name deferral by @kennykerr in #2955
- Fix typo in
windows-targetsreadme by @kennykerr in #2962 - Add missing tests for readme code snippets by @kennykerr in #2963
- Simplify type remapping by @kennykerr in #2964
- Simplify
cfgunion calculation by @kennykerr in #2965 - Add i686-pc-windows-gnullvm target by @jeremyd2019 in #2961
- Implement
Dereffor COM interface hierarchies inwindows-bindgenby @kennykerr in #2968 - Implement
Dereffor COM interface hierarchies defined with theinterfacemacro by @kennykerr in #2969 - Remove redundant target checks by @kennykerr in #2973
- Add support for Arm64EC by @dpaoliello in #2957
- Fix for new Clippy warnings in nightly by @kennykerr in #2977
- Add explicit path support to the
interfacemacro by @kennykerr in #2976 - Document
Interface::IIDby @kennykerr in #2990 - Release 0.56.0 by @kennykerr in #2989
New Contributors
- @zardini123 made their first contribution in #2924
- @dependabot made their first contribution in #2933
- @jeremyd2019 made their first contribution in #2961
Full Changelog: 0.55.0...0.56.0
0.55.0
This update includes a few improvements to code generation. The following crates are being updated today:
windows-bindgenwindows-metadatawindows-core
What's Changed
- Improve
implementmacro docs by @daladim in #2891 - Restore MSRV for
windows-targetsto 1.56 by @kennykerr in #2898 - Simpler namespace type collection by @kennykerr in #2901
- Allow
PWSTR/PSTRto be passed toPCWSTR/PCSTRparameters by @kennykerr in #2899 - Consolidate type generation by @kennykerr in #2903
- Add ability to prepend code to type generation by @kennykerr in #2907
- Fix for new Rust nightly warnings related to unnecessary qualifications by @kennykerr in #2911
- Add option to suppress
windows-bindgencomment in generated code by @kennykerr in #2910 - More unnecessary qualifications by @kennykerr in #2912
- Consolidate internal
interfaceandcom_interfacemacros by @kennykerr in #2914 - Release 0.55.0 by @kennykerr in #2915
New Contributors
Full Changelog: 0.54.0...0.55.0
0.54.0
This update includes a few improvements to error propagation and expanded VARIANT support.
What's Changed
- Add natural error translation for RPC by @kennykerr in #2883
- Workaround for confusing
LocalFreebehavior by @kennykerr in #2889 - Avoid
Resulttransformation forWIN32_ERRORby @kennykerr in #2890 - Support additional
VARIANTtypes by @kennykerr in #2892 - Release 0.54.0 by @kennykerr in #2894
Full Changelog: 0.53.0...0.54.0
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
0.52.0
This release includes updates to all crates. This includes the first update to the windows-sys crate in 8 months. It also includes the first published version of the riddle tool and the windows-version crate.
What's Changed
- Simplify issue templates by @riverar in #2621
- Switch all crates to Rust edition 2021 by @kennykerr in #2620
- Correct workflow trigger ignore paths by @riverar in #2622
- Detect unused
bindgen/riddlefilters by @kennykerr in #2634 - Fix
BOOLEANparameter binding by @kennykerr in #2635 - Provide individual crate readme files by @kennykerr in #2645
- Tweak Win32 error code conversion to handle
HRESULTinput by @kennykerr in #2646 - Remove support for the defunct
StaticLibraryattribute by @kennykerr in #2647 - Derive
PartialEq,Eq,Debug,Clonefor interfaces by @kennykerr in #2651 - Internal
bindgenrefactoring by @kennykerr in #2654 - Disable signature transformation for
NTSTATUSby @kennykerr in #2658 - Unhide
querymethod onComInterfacetrait by @kennykerr in #2659 - Harden
QueryInterfaceimplementation by @kennykerr in #2660 - Mask non-reproducible linker artifacts in libs by @riverar in #2661
- Slim doc generation by @kennykerr in #2671
- Update SDK and WDK metadata by @riverar in #2664
- Add feature documentation quotes by @kennykerr in #2675
- Add
docsfeature by @kennykerr in #2676 - Simplify metadata reader by @kennykerr in #2682
- Add bindgen config option to disable generating inner attributes by @dpaoliello in #2683
- Simplify metadata filtering by @kennykerr in #2684
- Simplify code generation by @kennykerr in #2686
- Fix link from docs.rs to full API documentation by @ChrisDenton in #2688
- Optimize tick trimming by @kennykerr in #2689
- Small bindgen refactor and tools refresh by @kennykerr in #2695
- Document
implementandinterfacemacros by @kennykerr in #2696 - Perform checked integral type conversions for APIs by @kennykerr in #2699
- Add
windows-versioncrate by @kennykerr in #2702 - Add crate-specific readme files by @kennykerr in #2703
New Contributors
- @dpaoliello made their first contribution in #2683
Full Changelog: 0.48.5...0.52.0