Releases: microsoft/windows-rs
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
0.46.0
As a reminder, updates are only published by request (#2380). This release provides an update to the windows
crate. It does not include an update to the windows-sys
crate.
This is the first update to the windows
crate in about 2 months and includes numerous improvements as well as updated API definitions via the Win32 metadata. Notably, the windows
crate now sports streamlined and much simpler type traits (#2343) and parameter bindings (#2360). It includes the first steps towards WDK support (#2358), and it finally includes stock collection implementations (#91).
Please note that the ComInterface
trait is now required to call the cast
function (#2360).
What's Changed
- Add link from docs.rs to full API documentation by @ChrisDenton in #2297
- Simplify COM implementation traits by @kennykerr in #2301
- Fix test component re-build reliability by @kennykerr in #2303
- Metadata writer refactoring by @kennykerr in #2309
- Lower MSRV for the
windows
crate by @kennykerr in #2318 - Ongoing metadata writer improvements and new command line tool by @kennykerr in #2319
- Improve clippy workflow by @kennykerr in #2320
- Improve crates.io metadata by @kennykerr in #2321
- Add
raw-dylib
testing withnightly-i686-pc-windows-gnu
by @kennykerr in #2312 - Update Win32 metadata by @kennykerr in #2322
- Generate
contains
method for enum flags by @kennykerr in #2323 - Improved
riddle
syntax parsing and testing by @kennykerr in #2324 - metadata
Reader::attribute_args
enhancements by @ChrisDenton in #2329 - Metadata reader: Preserve type when reading enum values in attributes by @ChrisDenton in #2331
- Simplify namespace extensions in the
windows-bindgen
crate by @kennykerr in #2339 - Simplify
windows::core
type traits by @kennykerr in #2343 - Stock collection support for
IIterable
by @kennykerr in #2346 - Specifically exclude
Windows.Win32.Web.MsHtml
by @kennykerr in #2348 - Move
IInspectable
extensions fromwindows::core
towindows::Foundation
by @kennykerr in #2349 - Stock collection support for
IVectorView
by @kennykerr in #2350 - Stock collection support for
IMapView
by @kennykerr in #2353 - Update Win32 metadata by @kennykerr in #2357
- Add support for the WDK metadata by @kennykerr in #2358
- Simplify parameter bindings by @kennykerr in #2360
- Drop
ManuallyDrop
by @kennykerr in #2361 - Simplify
Array
usage with non-WinRT types by @kennykerr in #2362 - Don't store redundant copy of assembly name by @kennykerr in #2363
- Update Win32 metadata by @kennykerr in #2364
- Enable hosted lib generation by @kennykerr in #2365
- Remove
prettyplease
dependency by @kennykerr in #2367 - Support aggregate constant initialization by @kennykerr in #2371
- Simplify parameter binding for
BSTR
by @kennykerr in #2372 - Update Win32 metadata by @kennykerr in #2374
- Minor polish of
windows::core
docs by @kennykerr in #2376 - Remap
CHAR
tou8
by @kennykerr in #2378 - Version 0.46.0 by @kennykerr in #2380
Full Changelog: 0.44.0...0.46.0
0.45.0
As a reminder, updates are only published by request (#2299). This release provides an update to the windows-sys
crate. It does not include an update to the windows
crate.
This is the first update to the windows-sys
crate in 4 months and primarily includes a number of fixes stemming from improvements to the Win32 metadata. Optional support for raw-dylib
is now also provided.
What's Changed
- Remove field
cfg
attribute queries by @kennykerr in #2280 - Only show visible windows and include x/y in output by @jessemcdowell in #2284
- Linux build support by @kennykerr in #2290
- Slices should use default (optional) type by @kennykerr in #2293
- Version 0.45 by @kennykerr in #2299
New Contributors
- @jessemcdowell made their first contribution in #2284
Changelog for windows-sys
crate: 0.42.0...0.45.0
0.44.0
As a reminder, updates are only published by request (#2279). This release does not include an update to the windows-sys
crate, which remains stable and unchanged.
This is the first update to the windows
crate in 3 months. As such, there are quite a few improvements and fixes. Some notable changes to take a look at:
- There is now a getting started guide
- Support for
raw-dylib
(#2164) - thanks @dpaoliello! - A number of new samples have been added
- The target lib files are now validated for changes (#2132)
- Windows Runtime metadata has been updated to introduce new APIs for Windows 11 (#2192)
- Win32 metadata has been updated with numerous fixes (#2247)
- There's a new
windows-targets
crate that simplifies taking a dependency on the Windows libs (#2158) - Support for infallible return values (#2248)
- Option to use default metadata for code generation (#2253)
Changes
- Fix new clippy warnings by @kennykerr in #2121
- Add performance counter samples by @kennykerr in #2120
- Use more readable formatting for samples by @kennykerr in #2124
- Add DirectComposition sample by @kennykerr in #2129
- Remap
D3DMATRIX
toMatrix4x4
by @kennykerr in #2130 - Validate baseline for lib files by @kennykerr in #2132
- Update the win32 metadata to version 37.0.34 by @kennykerr in #2133
- Simplify yml build files by @kennykerr in #2134
- Don't require files for reading/writing by @Jake-Shadle in #2131
- Test
DEVMODEA
/DEVMODEW
struct sizes are correct by @kennykerr in #2139 - Simplify extern function code generation by @kennykerr in #2148
- Introduce
link
macro to provide an abstraction over the Rustlink
attribute by @kennykerr in #2152 - Simplify yml generation by @kennykerr in #2157
- Add
windows-targets
crate to simplify lib dependency management by @kennykerr in #2158 - Improve samples and tests for validating calling conventions by @kennykerr in #2159
- Switch debugger visualizer from crate feature to build option by @kennykerr in #2160
- Streamline delay load core implementation by @kennykerr in #2162
- Remove deprecated WinRT namespaces by @kennykerr in #2165
- Update the win32 metadata to version 38.0.19 by @kennykerr in #2166
- Add optional support for
raw-dylib
by @kennykerr in #2164 - Generate field comparisons directly by @kennykerr in #2168
- Add device watcher sample by @kennykerr in #2172
- Test lower MSRV for
windows-sys
by @kennykerr in #2173 - Ensure bindings are warning-free by @kennykerr in #2174
- Detect unsupported trailing array parameters by @kennykerr in #2178
- Test readme by @kennykerr in #2179
- Update LLVM (MinGW) toolchain by @riverar in #2163
- Downgrade target crates versions to 0.42.1 by @glandium in #2183
- Update Windows metadata by @riverar in #2192
- Direct3D12 sample - fix copy_nonoverlapping size by @damyanp in #2195
- Exclude major COM APIs from the
windows-sys
crate by @kennykerr in #2194 verbatim
modifier is now stable by @kennykerr in #2199- Update Win32 metadata by @kennykerr in #2198
- Simplify parameter binding code gen by @kennykerr in #2202
- Remove straggling Xaml code gen by @kennykerr in #2203
- Add license tool by @kennykerr in #2207
- Detect missing generated files by @kennykerr in #2209
- Restructure lib testing by @kennykerr in #2208
- Add convert methods for
VARIANT_BOOL
by @aquacash5 in #2206 - Tightening up parameter parsing and type generation by @kennykerr in #2214
- Simpler string ABI by @kennykerr in #2215
- Remove any
.dll
suffix from non-Windows link import file names by @kennykerr in #2216 - Introduce signature parameter kinds by @kennykerr in #2217
- Detect more value types and reduce transmute reliance by @kennykerr in #2220
- Fix new
clippy
warninguninlined_format_args
by @kaivol in #2224 - Pin samples link to latest published version by @kennykerr in #2226
- Transform
const
parameters through pointers by @kennykerr in #2227 - Propagate error information through
HRESULT
'sok
method by @kennykerr in #2228 - Don't run
debugger_visualizer
test if option is not enabled by @kennykerr in #2230 - Input slices should not use default type by @kennykerr in #2233
- Remove any implied ownership semantics for Win32 structs by @kennykerr in #2235
- Simplify parameter bindings by @kennykerr in #2237
- Hide
link
docs by @kennykerr in #2238 - Remove unsafe
PCWSTR
conversion by @kennykerr in #2239 - Combine
interface
andimplement
features by @kennykerr in #2240 - More accurately detect return values while avoiding optional parameters by @kennykerr in #2241
- Add doc feature requirements for interface traits by @kennykerr in #2242
- Add threadpool work samples by @kennykerr in #2243
- Update Win32 metadata by @kennykerr in #2247
- Infallible return values and more efficient out parameters by @kennykerr in #2248
- Provide option to use default metadata for code generation by @kennykerr in #2253
- Add fallible allocations and string conversions by @kennykerr in #2254
- Include
doc
comment forGUID
constants by @kennykerr in #2268 - Clarify license of the Windows metadata files by @kennykerr in #2267
- Organize samples into folders by @kennykerr in #2270
- Verify alignment for
DEVMODEA
/DEVMODEW
structs by @kennykerr in #2271 - Add Background Intelligent Transfer Service (BITS) sample by @kennykerr in #2277
- Version 0.44 by @kennykerr in #2279
New Contributors
- @Jake-Shadle made their first contribution in #2131
- @aquacash5 made their first contribution in #2206
Full Changelog: 0.43.0...0.44.0
0.43.0
String constants now preserve their original encoding as either UTF-8 or UTF-16 null-terminated string constants. This makes many string constants directly and efficiently usable as constants to pass to various Windows APIs that expect either "ansi" or wide null-terminated string literals. This update also provides a collection of small improvements, particularly to string handling. Updated Win32 metadata provides fixes to various API definitions.
This release does not include an update to the windows-sys
crate, which remains stable and unchanged.
What's Changed
- Remove composable support by @kennykerr in #2070
- Remove unnecessary convertible parameters by @kennykerr in #2071
- Use consistent
const GUID
code gen acrosswindows
andwindows-sys
by @kennykerr in #2072 - Use
std
consistently in thewindows
crate by @kennykerr in #2073 - Improve core string type testing by @kennykerr in #2074
- Update the Natvis definition for
HSTRING
by @ridwanabdillahi in #2077 - Improve
windows::core::Error
formatting by @kennykerr in #2075 - Make more of the
HSTRING
methodsconst
by @kennykerr in #2078 - Replace boilerplate COM interface code gen with
macro_rules
by @kennykerr in #2079 - Fix D3D12 sample by @kennykerr in #2084
- Suppress fewer warnings by @kennykerr in #2085
- Fix a few new
clippy
warnings by @kaivol in #2090 - Update the win32 metadata to version 36.0.9 by @kennykerr in #2099
- Provide original encoding for string constants by @kennykerr in #2101
- Minor housekeeping by @kennykerr in #2102
- Simpler non-COM interface code gen by @kennykerr in #2103
- Fix recursive PartialEq impl in
BSTR
by @rylev in #2116 - Version 0.43 by @kennykerr in #2117
Full Changelog: 0.42.0...0.43.0
0.42.0
This release provides a major update to the windows-sys
crate, the first update since 0.36.1, and includes numerous fixes and improvements to the completeness and correctness of both API definitions and import libs.
What's Changed
- Exclude default
winmd
files fromwindows-metadata
crate by @kennykerr in #2060 - The
implement
macro traits need not be recursively dependent by @kennykerr in #2062 - Add
windows-sys
test coverage by @kennykerr in #2063 - Add support for non-COM interfaces by @kennykerr in #2066
- Update the win32 metadata to version 34.0.8 by @kennykerr in #2067
- Version 0.42.0 by @kennykerr in #2069
Changelog for windows
crate: 0.41.0...0.42.0
Changelog for windows-sys
crate: 0.36.1...0.42.0