Rust for Windows
This update includes a few improvements to code generation. The following crates are being updated today:
windows-bindgen
windows-metadata
windows-core
implement
macro docs by @daladim in https://github.com/microsoft/windows-rs/pull/2891
windows-targets
to 1.56 by @kennykerr in https://github.com/microsoft/windows-rs/pull/2898
PWSTR
/PSTR
to be passed to PCWSTR
/PCSTR
parameters by @kennykerr in https://github.com/microsoft/windows-rs/pull/2899
windows-bindgen
comment in generated code by @kennykerr in https://github.com/microsoft/windows-rs/pull/2910
interface
and com_interface
macros by @kennykerr in https://github.com/microsoft/windows-rs/pull/2914
Full Changelog: https://github.com/microsoft/windows-rs/compare/0.54.0...0.55.0
This update includes a few improvements to error propagation and expanded VARIANT
support.
LocalFree
behavior by @kennykerr in https://github.com/microsoft/windows-rs/pull/2889
Result
transformation for WIN32_ERROR
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2890
VARIANT
types by @kennykerr in https://github.com/microsoft/windows-rs/pull/2892
Full Changelog: https://github.com/microsoft/windows-rs/compare/0.53.0...0.54.0
As requested, this release updates the Windows family of crates. Notably:
windows-sys
crate won't be updated at this time.windows-version
crate is unchanged.windows-targets
crates.windows-result
(#2847) crate and provides efficient Windows error handling and propagation with support for Win32, COM, WinRT, and NT APIs.windows-registry
(#2848) crate and provides simple, safe, and efficient access to the Windows registry.VARIANT
and PROPVARIANT
support has been added to the windows-core
crate (#2786), making it a lot easier to work with Shell and OLE APIs.GetTrustLevel
return value by @kennykerr in https://github.com/microsoft/windows-rs/pull/2714
invalid_mut
when writer.std
by @ChrisDenton in https://github.com/microsoft/windows-rs/pull/2727
windows
crate to 1.62 by @kennykerr in https://github.com/microsoft/windows-rs/pull/2730
windows::core::Error::from_win32()
by @Enyium in https://github.com/microsoft/windows-rs/pull/2733
unused_qualifications
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2743
HSTRING::len
documentation by @kennykerr in https://github.com/microsoft/windows-rs/pull/2749
Copy
, Clone
, Default
for enums by @kennykerr in https://github.com/microsoft/windows-rs/pull/2760
matches
function safe by @kennykerr in https://github.com/microsoft/windows-rs/pull/2761
Option
for propagation by @kennykerr in https://github.com/microsoft/windows-rs/pull/2766
From<T>
and From<&T>
for interface hierarchies by @kennykerr in https://github.com/microsoft/windows-rs/pull/2779
char
type by @kennykerr in https://github.com/microsoft/windows-rs/pull/2781
VARIANT
and PROPVARIANT
support by @kennykerr in https://github.com/microsoft/windows-rs/pull/2786
VT_UNKNOWN
support for VARIANT
and PROPVARIANT
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2788
VARIANT
support by @kennykerr in https://github.com/microsoft/windows-rs/pull/2789
ExecQuery
and ExecMethod
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2794
AssociatedEnum
attribute to input parameters by @kennykerr in https://github.com/microsoft/windows-rs/pull/2797
missing_docs
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2799
Windows.Win32.UI.Shell.Common
in the windows-sys
crate by @kennykerr in https://github.com/microsoft/windows-rs/pull/2804
const
functions across string types by @kennykerr in https://github.com/microsoft/windows-rs/pull/2810
windows-sys
crate by @kennykerr in https://github.com/microsoft/windows-rs/pull/2818
std::io::Error
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2840
HRESULT
ergonomics by @kennykerr in https://github.com/microsoft/windows-rs/pull/2843
windows-result
crate by @kennykerr in https://github.com/microsoft/windows-rs/pull/2847
windows-registry
crate by @kennykerr in https://github.com/microsoft/windows-rs/pull/2848
TryFromIntError
to ERROR_INVALID_DATA
in windows-result
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2851
windows-result
crate split by @tim-weis in https://github.com/microsoft/windows-rs/pull/2853
HRESULT
constant literal generation by @kennykerr in https://github.com/microsoft/windows-rs/pull/2857
NTSTATUS
constant literal generation by @kennykerr in https://github.com/microsoft/windows-rs/pull/2860
NTSTATUS
message formatting support to the windows-result
crate by @kennykerr in https://github.com/microsoft/windows-rs/pull/2861
Full Changelog: https://github.com/microsoft/windows-rs/compare/0.52.0...0.53.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.
bindgen
/riddle
filters by @kennykerr in https://github.com/microsoft/windows-rs/pull/2634
BOOLEAN
parameter binding by @kennykerr in https://github.com/microsoft/windows-rs/pull/2635
HRESULT
input by @kennykerr in https://github.com/microsoft/windows-rs/pull/2646
StaticLibrary
attribute by @kennykerr in https://github.com/microsoft/windows-rs/pull/2647
PartialEq
, Eq
, Debug
, Clone
for interfaces by @kennykerr in https://github.com/microsoft/windows-rs/pull/2651
bindgen
refactoring by @kennykerr in https://github.com/microsoft/windows-rs/pull/2654
NTSTATUS
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2658
query
method on ComInterface
trait by @kennykerr in https://github.com/microsoft/windows-rs/pull/2659
QueryInterface
implementation by @kennykerr in https://github.com/microsoft/windows-rs/pull/2660
docs
feature by @kennykerr in https://github.com/microsoft/windows-rs/pull/2676
implement
and interface
macros by @kennykerr in https://github.com/microsoft/windows-rs/pull/2696
windows-version
crate by @kennykerr in https://github.com/microsoft/windows-rs/pull/2702
Full Changelog: https://github.com/microsoft/windows-rs/compare/0.48.5...0.52.0
As discussed in https://github.com/microsoft/windows-rs/pull/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.
Full Changelog: https://github.com/microsoft/windows-rs/compare/0.48.4...0.48.5
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.
Full Changelog: https://github.com/microsoft/windows-rs/compare/0.51.1...0.48.4
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.
windows
and windows-core
crates are updated to 0.51.1 to update the readme but are otherwise unchanged.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.
windows-bindgen
crate is updated to 0.51.1 and includes the new riddle-based metadata processing capabilities and is compatible with the windows
and windows-core
crates.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.
riddle
available as a library by @kennykerr in https://github.com/microsoft/windows-rs/pull/2609
windows-bindgen
for std
usage by @kennykerr in https://github.com/microsoft/windows-rs/pull/2610
Full Changelog: https://github.com/microsoft/windows-rs/compare/0.51.0...0.51.1
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.
windows
crate now depends on the windows-core crate.windows
, windows-core
, windows-implement
, and windows-interface
crates have been bumped to version 0.51.0 as there have been breaking changes.windows-targets
crate has been bumped to version 0.48.2 as it remains compatible with previous versions.None
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2535
cdylib
dependency by @kennykerr in https://github.com/microsoft/windows-rs/pull/2545
windows-targets
0.48.1 by @kennykerr in https://github.com/microsoft/windows-rs/pull/2558
AsImpl::as_impl
should be unsafe by @kennykerr in https://github.com/microsoft/windows-rs/pull/2565
Full Changelog: https://github.com/microsoft/windows-rs/compare/0.50.0...0.51.0
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.
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.
type_def_extends
to return Option
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2460
windows-sys
generation by @kennykerr in https://github.com/microsoft/windows-rs/pull/2465
windows-core
crate by @kennykerr in https://github.com/microsoft/windows-rs/pull/2475
BOOL
and Win32
return values by @kennykerr in https://github.com/microsoft/windows-rs/pull/2476
standalone_std
function by @kennykerr in https://github.com/microsoft/windows-rs/pull/2477
windows-core
crate by @kennykerr in https://github.com/microsoft/windows-rs/pull/2482
windows-core
bindings by @kennykerr in https://github.com/microsoft/windows-rs/pull/2483
raw_dylib
and debugger_visualizer
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2497
syn
dependency by @kennykerr in https://github.com/microsoft/windows-rs/pull/2519
std::mem::zeroed
with type inference by @kennykerr in https://github.com/microsoft/windows-rs/pull/2526
std::error::Error
for new metadata Error
type by @MarijnS95 in https://github.com/microsoft/windows-rs/pull/2528
Full Changelog: https://github.com/microsoft/windows-rs/compare/0.49.0...0.50.0