Skip to content

Releases: microsoft/CsWin32

v0.1.647-beta

13 May 02:43
898c26e
Compare
Choose a tag to compare
v0.1.647-beta Pre-release
Pre-release

What's Changed

  • Allow memory-mapped file to open for shared reading by @AArnott in #536

Full Changelog: v0.1.646-beta...v0.1.647-beta

v0.1.646-beta

13 May 02:43
17a7887
Compare
Choose a tag to compare
v0.1.646-beta Pre-release
Pre-release

What's Changed

  • Avoid mapping the metadata file more than once by @AArnott in #529

Full Changelog: v0.1.635-beta...v0.1.646-beta

v0.1.635-beta

27 Jan 21:56
94b7833
Compare
Choose a tag to compare
v0.1.635-beta Pre-release
Pre-release

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

15 Nov 17:35
412cada
Compare
Choose a tag to compare
v0.1.619-beta Pre-release
Pre-release

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 generating RegCloseKeySafeHandle
  • #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

20 Sep 18:33
e0d1a27
Compare
Choose a tag to compare
v0.1.588-beta Pre-release
Pre-release

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 the char type

This list of changes was auto generated.

v0.1.584-beta

18 Sep 16:09
b3885f4
Compare
Choose a tag to compare
v0.1.584-beta Pre-release
Pre-release

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

08 Sep 15:07
75e3d8f
Compare
Choose a tag to compare
v0.1.560-beta Pre-release
Pre-release

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

28 Jun 15:37
778ebaa
Compare
Choose a tag to compare
v0.1.506-beta Pre-release
Pre-release

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

17 Mar 03:42
7ca692d
Compare
Choose a tag to compare
v0.1.422-beta Pre-release
Pre-release

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

24 Feb 04:04
c78d5d3
Compare
Choose a tag to compare
v0.1.378-beta Pre-release
Pre-release

Changes:

Fixes:

  • #64: [In, Out] char* parameter MUST NOT generate string 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 all using 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 over BOOL in method signatures
  • #100: Reuse SafeFileHandle from BCL instead of creating CloseHandleSafeHandle
  • #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.