Releases: microsoft/CsWin32
Releases · microsoft/CsWin32
v0.2.162-beta
What's Changed
Full Changelog: v0.2.158-beta...v0.2.162-beta
v0.2.158-beta
What's Changed
- Structs that represent COM interfaces prefer non-PreserveSig by @AArnott in #793
- Allow PreserveSig to apply to all APIs by @AArnott in #794
- Determine language features support the same way the compiler does by @AArnott in #803
- c-string enhancements by @AArnott in #805
- Update API docs to 0.1.12-alpha by @AArnott in #808
- Update metadata to 39.0.18-preview by @AArnott in #809
Full Changelog: v0.2.138-beta...v0.2.158-beta
v0.2.138-beta
What's Changed
- Be careful about using internal attributes declared in other assemblies by @AArnott in #743
- Update metadata to 37.0.34-preview by @AArnott in #759
- Use documented invalid handles when SafeHandle is null by @AArnott in #760
- Observe
DangerousAddRef
result before proceeding. by @AArnott in #762 - Use Windows active code page instead of UTF8 for decoding narrow characters by @AArnott in #764
- Revert "Observe
DangerousAddRef
result before proceeding." by @AArnott in #765 - Add IComIID interface to COM structs by @AArnott in #766
- Emit a stable reference to the interface guid by @AArnott in #767
- Add IPicture test and fix the failure by @AArnott in #776
- Fix generation failure when emitting members as various C# keywords by @AArnott in #779
- Update metadata to 38.0.19-preview by @AArnott in #781
- Perf enhancements by @AArnott in #782
- Fix full generation tests by @AArnott in #777
- Delete verbatim tests by @AArnott in #784
- Distribute COM interface friendly overloads across many classes by @AArnott in #783
- Add visibility modifier to struct properties by @AArnott in #786
Full Changelog: v0.2.104-beta...v0.2.138-beta
v0.2.104-beta
What's Changed
- A bunch of inline array improvements by @AArnott in #699
- Unmarshaled COM 'interface' struct trimmability by @AArnott in #706
- Reuse inline array structs across all users by @AArnott in #707
- Declare COM structs with
partial
modifier by @AArnott in #713 - Add a
static readonly Guid
field to COM structs by @AArnott in #712 - Declare COM interface within the COM struct when allowMarshaling is false by @AArnott in #714
- Fix BSTR.ToString() to not throw when the pointer is null by @AArnott in #725
- Declare methods on COM interfaces-as-structs as
public
by @AArnott in #726 - Generate decimal/DECIMAL converters by @AArnott in #727
- Add BSTR.Length property by @AArnott in #728
- Declare ZZ-family of string types by @AArnott in #730
- Add
CharSet = Unicode
toextern
methods withchar
parameters by @AArnott in #735 - Update metadata to 36.0.9-preview by @AArnott in #737
- Update NuGet.Protocol to 5.8.0 in test project by @AArnott in #740
- Emit COM interfaces with properties where possible by @AArnott in #739
Full Changelog: v0.2.63-beta...v0.2.104-beta
v0.2.63-beta
What's Changed
- Fix C# 11 warning on inline arrays by @AArnott in #660
- Add DateTime operators to SYSTEMTIME by @elachlan in #672
- Improvements to HRESULT by @elachlan in #666
- Allow certain debug-related libraries to load from the app directory by @AArnott in #685
- Prefer System.IO.SeekOrigin over STREAM_SEEK by @AArnott in #686
- Update metadata to 33.0.18-preview by @AArnott in #696
Full Changelog: v0.2.46-beta...v0.2.63-beta
v0.2.46-beta
What's Changed
- Trim Zero White Space by @elachlan in #609
- Perf improvements to repeated generations by @AArnott in #613
- Add drawing types templates by @elachlan in #628
- Add Null static field to handles by @elachlan in #640
- Avoid overflow exceptions when converting
BOOL
tobool
by @AArnott in #645 - Add GeneratedCodeAttribute to Generated code by @elachlan in #621
- Add option to avoid SafeHandle friendly overloads by @AArnott in #653
- Fix formatting issues around for loops by @elachlan in #656
- Honour DoNotRelease on SafeHandles by @elachlan in #654
- Update metadata to 31.0.4-preview by @AArnott in #679
- Merge latest Library.Template by @AArnott in #684
New Contributors
Full Changelog: v0.2.10-beta...v0.2.46-beta
v0.2.10-beta
v0.2.1-beta
Changes:
Fixes:
- #578:
[Optional, In]
parameter shouldn't usein
modifier in extern method for managed structs - #565: Generated code fails to consider extern aliases
- #292: Could not load type "that is incorrectly aligned or overlapped by a non-object field"
- #574: Suppress CS8981 in generated code
Enhancements:
- #579: Make
[In, Optional]
managed struct parameters actually optional in friendly overloads - #562: Unify the
IDataObject
interface with the one in the BCL - #561: Avoid allocating large string for generated text
- #577: Add ambiguity handling when reusing symbols from multiple metadata references
- #564: Add support for multiple NativeMethods.txt files in a project
v0.1.691-beta
What's Changed
Full Changelog: v0.1.689-beta...v0.1.691-beta
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