Releases: microsoft/CsWin32
Releases · microsoft/CsWin32
v0.1.689-beta
What's Changed
- Update metadata to 23.0.2-preview by @AArnott in #538
- README: Fix Newer metadata section commandline by @Thog in #540
- Make it easier to test CPU architectures in multiple tests by @AArnott in #495
- Automatically apply PreserveSig behavior where metadata sets the flag by @AArnott in #542
- Propagate
[Obsolete]
attribute on fields from the metadata by @AArnott in #543 - Add support for generating many constants based on wildcard by @AArnott in #544
- Reuse .NET
NativeOverlapped
struct instead of generating our own by @AArnott in #546 - Detect and report suspicious characters in NativeMethods.txt by @AArnott in #548
- Generate constants into their typedef structs wherever possible by @AArnott in #550
- Produce friendly overloads for in/out PWSTR parameters by @AArnott in #551
- Add SizeParamIndex or CountConst as required to extern methods by @AArnott in #552
- Emit assembly attribute with CsWin32 version stamp by @AArnott in #555
- Recognize documented invalid values for handles by @AArnott in #557
- Share MetadataIndex instances across multiple generators by @AArnott in #558
New Contributors
Full Changelog: v0.1.647-beta...v0.1.689-beta
v0.1.647-beta
What's Changed
Full Changelog: v0.1.646-beta...v0.1.647-beta
v0.1.646-beta
What's Changed
Full Changelog: v0.1.635-beta...v0.1.646-beta
v0.1.635-beta
What's Changed
- Generate cocreatable types as classes with
[ComImport]
by @AArnott in #454 - Check whether Span exists before using it by @jnm2 in #450
- Promote visibility of members in all templates by @AArnott in #458
- Re-apply System.Text.Encodings.Web update by @AArnott in #459
- Update metadata to 17.0.2-preview by @AArnott in #489
Full Changelog: v0.1.619-beta...v0.1.635-beta
v0.1.619-beta
Changes:
Fixes:
- #429: Can't emit interface in 2nd winmd that inherits from interface in 1st winmd
- #430: Can't emit items from 2nd winmd if its namespace doesn't start with Windows.Win32
- #431: IEnumMoniker returns null-elements in marshaling environment
- #370: Toggling allowMarshaling breaks the IDE experience till reload
- #419: Regression in 0.1.560-beta CS0436/CS0103 due to type conflict
- #422: Fix schema descriptions
- #446: Fix cross-winmd type references
- #418: Fix generation of interop types from multiple winmd's
- #421: Fix source generation break when NativeMethods.json does not parse
Enhancements:
- #433: Apply [Out] to marshalled arrays where [Out] is in the metadata
- #442: Reuse
SafeRegistryHandle
instead of generatingRegCloseKeySafeHandle
- #447: Update win32metadata to 15.0.1-preview
- #415: Enable APIs using synthesized types to be used on net35
- #444: Consolidate extern method and constants into the same class
This list of changes was auto generated.
v0.1.588-beta
Changes:
Fixes:
- #369: VS editor constantly warns about inconsistent line endings
- #389: Struct getting created with ANSI instead of Unicode string fields, leading to wrong Marshal.SizeOf result
Others:
- #412: Generate code with consistent line endings
- #410: Apply
[StructLayout(CharSet.Unicode)]
to structs that contain thechar
type
This list of changes was auto generated.
v0.1.584-beta
Changes:
Fixes:
- #396: FARPROC, PROC should be expressed as typedef structs with
IntPtr
field instead of a delegate
Enhancements:
- #406: A variety of enhancements for fixed length inline arrays
- #301: Generate ToString methods on fixed-length char arrays
- #391: Offer friendly overloads for ANSI-only methods
- #395: Allow fixed char array field initialization with string
- #385: Fixed length inline arrays are difficult to initialize
Others:
- #407: Suppress CS0436 in generated files
This list of changes was auto generated.
v0.1.560-beta
Changes:
Fixes:
- #362: GetMessage returns a bool when it should return a BOOL
- #316: Microsoft.Windows.SDK.Win32Docs.dll appears in build and publish output
- #375: Fix detection of SupportedOSPlatformAttribute
- #357: Fix marshaling of NativeArrayInfo parameters
- #325: Suppress Win32Docs showing up as a runtime dependency downstream
- #331: Fix SA1629 "... should end with a period" in generated xml docs
Enhancements:
- #386: Enable creating C# projections based on multiple input winmd's and docs
- #388: Update win32metadata to 10.2.163-preview
This list of changes was auto generated.
v0.1.506-beta
Changes:
Fixes:
- #229: Friendly overloads are missing SupportedOSPlatform
- #198: COM interfaces should have attributed with [ComImport]
Enhancements:
- #309: Consume API docs from win32metadata
- #302: Perf work
- #307: Fix startup perf (YAML to messagepack)
- #303: Replace NormalizeWhitespace with manually generated whitespace
- #293: HANDLE typedefs should overload the == operator
- #299: Update metadata version to 10.2.84-preview
- #294: Downgrade System.Text.Json version
- #208: Please skip emitting DefaultDllImportSearchPaths on targets < net45
- #40: Filter generated output based on target WinSDK version
- #196: Emit suggestions when requested API does not exist
- #103: Generate generic method overloads where
out void*
appears for one parameter - #182: LPARAM should declare an implicit conversion from
nint
- #212: Attribute COM interfaces with [ComImport]
- #210: Omit
DefaultDllImportSearchPathsAttribute
generation on older TFMs - #204: Add
SupportedOSPlatformAttribute
to generated code - #203: Suggest APIs for NativeMethods.txt when no match is found in the metadata
- #201: Add
CoCreateInstance
generic friendly overload - #200: Offer implicit conversion from nint/nuint to LPARAM/WPARAM
Others:
- #305: Fix memory leak in testing
- #300: Generate whole namespaces on-demand
- #295: Include the period in the full-sentence link in XML docs
- #272: Print helpful errors/warnings on generation failures
- #221: Generator may fail with "Could not load file or assembly 'YamlDotNet..."
- #265: Add dependencies to package.
- #258: Add IsNull property on pointer-sized structs
- #260: Add NOTICE.txt file to package
- #241: Add
[SupportedOSPlatform]
to friendly overloads - #236: Bump Microsoft.CodeAnalysis.CSharp.Workspaces from 3.8.0 to 3.9.0
This list of changes was auto generated.
v0.1.422-beta
Changes:
Fixes:
- #49: Missing docs for IMAGE_NT_HEADERS32
Enhancements:
- #186: BOOL.Value should be typed as int
- #102: When an enum value is requested in NativeMethods.txt, emit an error that mentions the name of the containing enum
- #41: Generated methods should have DefaultDllImportSearchPathsAttribute
- #22: Add documentation for constants
- #152: Add extension methods to help index into inline arrays on downlevel TFMs
- #185: Update metadata to 10.0.19041.5-preview.68
- #194: Generate COM interfaces, delegates, and managed structures
- #177: Emit enums based on value names, and emit warning
- #172: Add Length property to inline arrays
- #173: Add ability to generate enum declarations from docs
- #159: Add doc comments to "unsafe"
AsSpan()
and indexer members - #157: Add extension methods so more runtimes can index into inline arrays
- #140: New codegen for inline array fields
Others:
See More
- #175: Fix doc collection for structs ending in 32 or 64
- #176: Add
DefaultDllImportSearchPathsAttribute
to each extern method - #174: Always use BOOL instead of
bool
in native function pointers
This list of changes was auto generated.