Rust for Windows
This release includes updates to all crates except windows-sys
.
It includes major updates to the following:
riddle
0.56.0windows
0.56.0windows-bindgen
0.56.0windows-core
0.56.0windows-implement
0.56.0windows-interface
0.56.0windows-metadata
0.56.0This 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-targets
0.52.5windows-result
0.1.1windows-registry
0.1.1windows-version
0.1.1The windows-targets
crate adds support for arm64ec-pc-windows-msvc
and i686-pc-windows-gnullvm
. The other crates only update dependencies.
windows
crate dependency in implement
and interface
macros by @kennykerr in https://github.com/microsoft/windows-rs/pull/2917
Param
trait by @kennykerr in https://github.com/microsoft/windows-rs/pull/2938
windows-core
to generate its own bindings by @kennykerr in https://github.com/microsoft/windows-rs/pull/2941
windows-targets
readme by @kennykerr in https://github.com/microsoft/windows-rs/pull/2962
cfg
union calculation by @kennykerr in https://github.com/microsoft/windows-rs/pull/2965
Deref
for COM interface hierarchies in windows-bindgen
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2968
Deref
for COM interface hierarchies defined with the interface
macro by @kennykerr in https://github.com/microsoft/windows-rs/pull/2969
interface
macro by @kennykerr in https://github.com/microsoft/windows-rs/pull/2976
Interface::IID
by @kennykerr in https://github.com/microsoft/windows-rs/pull/2990
Full Changelog: https://github.com/microsoft/windows-rs/compare/0.55.0...0.56.0
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.