0.39.0
This release includes improves to string handling and parameter passing to both improve performance and simplify the way arguments are bound to API calls.
Notably, the "alloc" feature has been removed. This feature allowed string literals to be implicitly converted to null terminated strings required by some Windows APIs. While convenient, it was rather complicated and expensive at runtime. Instead, the explicit s!
and w!
macros are now provided to create null terminated UTF-8 and UTF-16 string literals at compile time.
This release does not include an update to the windows-sys
crate, which remains stable and unchanged.
What's Changed
- Fix new Rust-1.62 lints by @MarijnS95 in #1866
- Clean up formatting and indetation by @MarijnS95 in #1865
- Support running on Linux/WSL targets by @MarijnS95 in #1863
- Derive
Eq
andPartialEq
forNTSTATUS
by @kennykerr in #1869 - Fix token formatting for
derive
macros by @kennykerr in #1870 - Basic field and constant metadata generation by @kennykerr in #1871
- Add link to metadata used to generate crate in main readme by @poliorcetics in #1875
- Add
tool_lib
crate to hold some of the common support for thewindows-rs
tools by @kennykerr in #1876 - Update win32 metadata to v24 by @kennykerr in #1877
- Move all docs to central location by @kennykerr in #1878
- Adjust license placement for GitHub auto-detection by @riverar in #1879
- Remove old license files by @kennykerr in #1880
- Borrowed by @rylev in #1811
- Use prettyplease for development formatting by @rylev in #1849
- Remove orphaned "alloc" feature by @kennykerr in #1888
- Convertible input strings by @kennykerr in #1889
- Add macros for creating null-terminated string literals by @kennykerr in #1891
- Update samples to use string literal macros by @kennykerr in #1894
- Use
where
clauses in codegen by @rylev in #1893 - Improve string pointer types by @rylev in #1897
- Small refactor by @rylev in #1899
- Avoid including primitive types with convertible types by @kennykerr in #1900
- Remove dead code by @rylev in #1905
- Add display methods for string pointer types by @rylev in #1904
- Avoid
transmute
for binding primitive argument types by @kennykerr in #1907 - Avoid generating redundant doc comments for methods by @kennykerr in #1908
- Infer ABI type for method result type by @kennykerr in #1909
- Avoid
transmute
for direct return values where no translation occurs by @kennykerr in #1911 - More accurate signature parameter parsing by @kennykerr in #1913
- Reduce dependence on
transmute
for WinRT arrays by @kennykerr in #1914 - Ensure that
Display
impl forHSTRING
is infallible by @kennykerr in #1915 - Fix new nightly warning about unused return value by @kennykerr in #1917
- Use internal
Decode
helper in a few more places by @kennykerr in #1918
New Contributors
- @poliorcetics made their first contribution in #1875
Full Changelog: 0.38.0...0.39.0