Feature Improvements
- Smarter COM marshalling (#1771). CsWin32 now automatically marshals recognized COM outputs as WinRT objects when appropriate.
- Simpler IID/PPV calls (#1720). IID and
void**parameter pairs now produce generic<T>overloads.
Before:
shellItem.BindToHandler(pbc, in bhid, typeof(IStream).GUID, out object result);
IStream stream = (IStream)result;After:
shellItem.BindToHandler<IStream>(pbc, in bhid, out IStream stream);CsWin32 supplies the IID and returns the strongly typed interface directly.
Changes:
Fixes:
- #1745: Invalid Code Generated for CsWin32.UI.Accessibility methods/interfaces/Delegates With
"allowMarshaling": true - #1739: NullReferenceException from passing null as CallbackParam for MiniDumpWriteDump
Others:
- #1812: Make generator path quoting test cross-platform
- #1810: Preserve coclass generic type fields for AOT
- #1809: Quote generator tool path in command line
- #1771: Automatically marshal COM outputs as WinRT
- #1789: Update dotnet monorepo to 5.9.0
- #1797: Update dependency nerdbank.dotnetrepotools to v1.5.42
See More
- #1803: Update dependency CSharpIsNullAnalyzer to 0.2.19 - autoclosed
- #1801: Update dependency Microsoft.Windows.SDK.CPP to 10.0.28000.2705
- #1800: Update dependency Microsoft.Windows.SDK.BuildTools to 10.0.28000.2705
- #1788: Update dependency Microsoft.NET.Test.Sdk to 18.9.0
- #1787: Update dependency powershell to v7.6.5
- #1782: Update Dockerfile and global.json updates
- #1786: Qualify special string typedefs (PCWSTR) to Windows.Win32.Foundation for non-Win32 metadata
- #1784: Update dependency NuGet.Protocol to 7.9.0
- #1781: Null-terminate PCSTR friendly overload strings
- #1775: Generated string-friendly overloads for PCSTR parameters do not append a null terminator
- #1778: Prevent major updates to compatibility SDKs
- #1779: Update MessagePack to 2.5.301 (CVE-2026-48109, CVE-2026-48506)
- #1777: Update dotnet monorepo to 10.0.10
- #1776: Update dependency dotnet-coverage to v18.10.0
- #1767: Consolidate dependency updates and protect analyzer compatibility
- #1746: Fix PreserveSig COM source generation
- #1729: Update dotnet monorepo to 9.0.18
- #1751: Update becheran/mlc action to v1.2.0
- #1749: Update dependency Microsoft.Windows.SDK.CPP to 10.0.28000.2526
- #1750: Update actions/checkout action to v5.1.0
- #1748: Update dependency Microsoft.Windows.SDK.BuildTools to 10.0.28000.2526
- #1742: Disable Azure Pipelines PR validation (PR testing moved to GitHub Actions)
- #1713: Update actions/checkout action to v4.4.0
- #1508: Update dependency docfx to v2.78.5
- #1509: Update GitHub Artifact Actions (major)
- #1711: Update actions/deploy-pages action to v4.0.5
- #1724: Update .NET packages
- #1743: Extend struct-typed constants onto their struct under extensionReceiver
- #1740: Fix NullReferenceException for null optional non-blittable struct parameters
- #1737: Update win32metadata to 71.0.14-preview
This list of changes was auto generated.