Releases: microsoft/CsWin32
Releases · microsoft/CsWin32
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.
v0.1.378-beta
Changes:
Fixes:
- #64:
[In, Out] char*
parameter MUST NOT generatestring
as a friendly overload - #126: GetIconInfo throws "Pointers cannot reference marshaled structures. Use ByRef instead."
- #62: Source Generator not installed for packages.config projects
- #43: Types are not generated when referenced project already defines them, even though they are inaccessible
- #75: Add
global::
in front of allusing
directives - #68: Source is not generated for .NET Framework 3.5
- #72: FreeLibrarySafeHandle.Null uses the wrong pointer value
- #48: Tolerate leading/trailing whitespace in NativeMethods.txt
Enhancements:
See More
- #119: Enhance HRESULT and NTStatus with helper functions
- #129: Make optional
SafeHandle
parameters accept null - #121: Update to metadata that fixes the char* as ushort* problem
- #74: Unify CloseHandleSafeHandle with SafeFileHandle
- #9: Produce SafeHandle-derived types and accept SafeHandle base type
- #99: Map LARGE_INTEGER structs to 64-bit int types on .NET
- #98: Add support for packages.config-based projects
- #97: Add HRESULT struct members: Succeeded and Failed
- #78: Add “partial” modifier to generated members
- #53: A single pragma disabling multiple warnings can be used
Others:
- #145: Declare HRESULT.ThrowOnFailure() method
- #143: Make SafeHandle parameters accept null
- #139: Generate partials when the project already defines partials
- #133: Structs are not generated when partials intended to add to them exist in the project
- #136: Update to metadata v10.0.19041.5-preview.20
- #54: README animated gif should demo default internal visibility
- #128: Prefix Guid with
global::
- #124: Incompatiblity with WinUI Preview 4 (using daily)
- #59: Can't work in WinUI 3 project
- #127: Avoid generating
bool
as struct field - #123: Add SpellChecker sample
- #104: Prefer
bool
overBOOL
in method signatures - #100: Reuse
SafeFileHandle
from BCL instead of creatingCloseHandleSafeHandle
- #101: Return specific
SafeHandle
types and accept base types - #69: LARGE_INTEGER/ULARGE_INTEGER should map to Int64/UInt64
- #92: Add IsSuccess to the generated HRESULT struct
- #96: Generate structs with the
partial
modifier - #95: Secure nuget source feeds
- #94: Suppress SafeHandle generation when a referencing project already declares it
- #89: Add NuGet prerelease badge to the readme to make navigation easier
- #70: Arrange for msbuild import to apply to pre-net40 projects
- #88: Update metadata to 10.0.19041.5-preview.5 and docs to tip
- #87: Generate types when referenced projects declare them internally
- #76: Bump Microsoft.CodeAnalysis.CSharp.CodeFix.Testing.XUnit from 1.0.1-beta1.21064.2 to 1.0.1-beta1.21080.1
- #77: Bump coverlet.msbuild from 3.0.1 to 3.0.2
- #73: Fix SafeHandle.Null to actually have a null value
- #66: Added comment parsing check for NativeMethods.txt
- #67: Make docs links locale agnostic
- #58: Generated files now have a '.g.cs' extension
- #55: Put all warning suppressions on one line
- #45: Structs and constants are not generated
This list of changes was auto generated.