Releases: microsoft/windows-rs
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
/riddle
filters by @kennykerr in #2634 - Fix
BOOLEAN
parameter binding by @kennykerr in #2635 - Provide individual crate readme files by @kennykerr in #2645
- Tweak Win32 error code conversion to handle
HRESULT
input by @kennykerr in #2646 - Remove support for the defunct
StaticLibrary
attribute by @kennykerr in #2647 - Derive
PartialEq
,Eq
,Debug
,Clone
for interfaces by @kennykerr in #2651 - Internal
bindgen
refactoring by @kennykerr in #2654 - Disable signature transformation for
NTSTATUS
by @kennykerr in #2658 - Unhide
query
method onComInterface
trait by @kennykerr in #2659 - Harden
QueryInterface
implementation 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
docs
feature 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
implement
andinterface
macros by @kennykerr in #2696 - Perform checked integral type conversions for APIs by @kennykerr in #2699
- Add
windows-version
crate 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
0.48.5
As discussed in #2613, this update bumps windows-targets
to 0.48.5 and will be the final release to support 1.48.
I will then switch everything in windows-rs
to use edition 2021 and MSRV 1.56.
What's Changed
- 0.48.5 by @kennykerr in #2617
Full Changelog: 0.48.4...0.48.5
0.48.4
A user reported issues with using Rust 1.48 with windows-targets
. It is quite difficult to validate as that is such an old version of Rust, but this tweak should address the compatibility concern.
This just flips windows-targets
and the arch-specific crates to use Rust edition 2018.
What's Changed
- 0.48.4 by @kennykerr in #2613
Full Changelog: 0.51.1...0.48.4
0.51.1
This is mainly for publishing an update of the windows-bindgen
crate but also fixes a few minor readme and version issues to avoid confusion.
- The
windows
andwindows-core
crates are updated to 0.51.1 to update the readme but are otherwise unchanged. - The
windows-targets
crate and arch-specific crates are updated to 0.48.3 to update the readme and bring the lib file names in line with the crate version.
Those are all semver-compatible updates.
- The
windows-bindgen
crate is updated to 0.51.1 and includes the new riddle-based metadata processing capabilities and is compatible with thewindows
andwindows-core
crates. - The
windows-metadata
crate is updated to 0.51.1 and includes many refinements but is largely for internal use.
Those are major breaking changes.
The windows-sys
crate will not be updated at this time.
What's Changed
- Make
riddle
available as a library by @kennykerr in #2609 - Improve
windows-bindgen
forstd
usage by @kennykerr in #2610 - Version 0.51.1 by @kennykerr in #2611
Full Changelog: 0.51.0...0.51.1
0.51.0
As requested by #2603, this update includes the first published update to the windows crate in 5 months. As a reminder, updates are only published by request.
- This includes a semver-compatible update to the windows-targets crate.
- The
windows
crate now depends on the windows-core crate. - The
windows
,windows-core
,windows-implement
, andwindows-interface
crates have been bumped to version 0.51.0 as there have been breaking changes. - The
windows-targets
crate has been bumped to version 0.48.2 as it remains compatible with previous versions. - Notably, an expanded set of WDK APIs are now available.
- Other crates will not be updated at this time.
What's Changed
- Ensure that all nullable params support
None
by @kennykerr in #2535 - Lock readme samples to last published version by @kennykerr in #2538
- Consolidate code generation by @kennykerr in #2544
- Add reference for spurious warning about
cdylib
dependency by @kennykerr in #2545 - Minor refactoring following #2544 by @kennykerr in #2546
- Test cross platform code generation by @kennykerr in #2547
- Run code formatting workflow on Linux by @kennykerr in #2548
- Riddle fixes and improvements by @kennykerr in #2549
- Improve rust output and formatting by @kennykerr in #2550
- Improve panic diagnostics by @kennykerr in #2551
- Update metadata readme.md by @kennykerr in #2553
- Add initial riddle support for methods and parameters by @kennykerr in #2554
windows-targets
0.48.1 by @kennykerr in #2558- Add CredEnumerate sample by @riverar in #2559
- Tweak riddle arguments by @riverar in #2563
AsImpl::as_impl
should be unsafe by @kennykerr in #2565- Add comment for suspect clippy warning by @kennykerr in #2567
- Move to Rust edition 2021 and version 1.56 by @kennykerr in #2568
- Resolve clippy warning in tear-off by @kennykerr in #2569
- Update Win32 and WDK metadata by @kennykerr in #2573
- Metadata parsing and indexing improvements by @kennykerr in #2581
- Prefer explicit casts by @kennykerr in #2582
- Riddle dialects by @kennykerr in #2586
- Metadata parsing improvements by @kennykerr in #2592
- Metadata processing improvements by @kennykerr in #2598
- Version 0.51.0 by @kennykerr in #2605
Full Changelog: 0.50.0...0.51.0
windows-targets 0.48.1
This is a semver-compatible update to the windows-targets crate to improve gnullvm compatibility by including #2515 as requested in #2557.
Other crates will not be updated at this time.
windows-core 0.50.0
This update includes the first published version of the windows-core
crate (#2475) as requested in #2527.
Other crates will not be updated at this time.
What's Changed
- Preliminary support for variadic functions by @kennykerr in #2457
- Workaround for variadic API function support by @kennykerr in #2458
- Improve metadata reader's
type_def_extends
to returnOption
by @kennykerr in #2460 - Add baseline readme by @kennykerr in #2461
- Smarter filtering for
windows-sys
generation by @kennykerr in #2465 - Introduce
windows-core
crate by @kennykerr in #2475 - Transform
BOOL
andWin32
return values by @kennykerr in #2476 - Hide
standalone_std
function by @kennykerr in #2477 - Include nested dependencies in standalone code generation by @Jake-Shadle in #2480
- Improve bindings in
windows-core
crate by @kennykerr in #2482 - Further simplify
windows-core
bindings by @kennykerr in #2483 - Support overloads in standalone code generation by @kennykerr in #2486
- Stabilize
raw_dylib
anddebugger_visualizer
by @kennykerr in #2497 - Collect all typedefs with same name by @Jake-Shadle in #2495
- Remove unused field by @kennykerr in #2503
- Fix constant type collection by @Jake-Shadle in #2505
- Only exclude inline function constants by @kennykerr in #2506
- Update to riddle and metadata generation by @kennykerr in #2510
- Tweak web syndication sample to work with more web servers by @kennykerr in #2512
- Metadata generation progress by @kennykerr in #2516
- Avoid using unstable target abi feature by @mati865 in #2515
- Improved attribute parsing and generation by @kennykerr in #2518
- Update
syn
dependency by @kennykerr in #2519 - Metadata parsing and generation by @kennykerr in #2525
- Use
std::mem::zeroed
with type inference by @kennykerr in #2526 - Implement
std::error::Error
for new metadataError
type by @MarijnS95 in #2528 - Version 0.50.0 by @kennykerr in #2529
Full Changelog: 0.49.0...0.50.0
0.49.0
An update to the windows-bindgen
and windows-metadata
crates, as requested in rust-lang/rust#110152 (comment).
Other crates will not be updated at this time.
What's Changed
- Standalone code generation now includes dependencies automatically by @kennykerr in #2416
- Limit core types for standalone code generation by @kennykerr in #2421
- Improved metadata diagnostic for invalid or missing nested types by @kennykerr in #2423
- Support multi-arch definitions in standalone code generation by @kennykerr in #2426
- Improve link formatting by @kennykerr in #2428
- Produce conservative enum definitions in standalone code generation by @kennykerr in #2430
- Enable additional
raw-dylib
testing by @kennykerr in #2433 - Small fix for standalone generation of individual enumerators by @kennykerr in #2434
- Add standalone code generation support for the Rust Standard Library by @kennykerr in #2439
- Adds
link_name
support to thewindows-targets
crate by @kennykerr in #2440 - Win32 metadata workarounds by @kennykerr in #2441
- Consolidate formatting code by @kennykerr in #2442
- Streamlined Win32 metadata iteration by @kennykerr in #2444
- Simplified link generation by @kennykerr in #2445
- Hardening for empty structs by @kennykerr in #2447
- Update Win32 v49 and WDK v4 by @kennykerr in #2446
- Remove metadata workarounds by @kennykerr in #2448
- Fix
link_name
generation in standalone code generation by @kennykerr in #2450 - Version 0.49.0 by @kennykerr in #2454
Full Changelog: 0.48.0...0.49.0
0.48.0
This release includes an update to all crates to address a target version reliability issue. This issue is detailed here: #2410 (comment)
What's Changed
- Improve target version reliability by @kennykerr in #2412
Full Changelog: 0.47.0...0.48.0
0.47.0
As a reminder, updates are only published by request (#2397; microsoft/win32metadata#1507). This release provides an update to the windows
crate. It does not include an update to the windows-sys
crate.
This update adds support for standalone code generation (#2396) as well as requested fixes to the Win32 metadata that prevented some APIs from being used.
What's Changed
- Workaround for
rustdoc
regression by @kennykerr in #2381 - Token privilege samples by @kennykerr in #2382
- Apply
const
parameter metadata by @kennykerr in #2384 - Advanced metadata filtering by @kennykerr in #2385
- Update Win32 metadata v46 by @kennykerr in #2387
- Support standalone code generation by @kennykerr in #2396
- Update readme to include
windows-targets
andwindows-bindgen
by @kennykerr in #2399 - Update Win32 metadata v47 by @kennykerr in #2400
- Version 0.47.0 by @kennykerr in #2401
- Add CLR test for lib validation by @kennykerr in #2403
- Restore reproducible libs by @riverar in #2402
- Check diff for all targets by @kennykerr in #2404
Full Changelog: 0.46.0...0.47.0