CsWinRT 2.3.0-prerelease.250720.1
Pre-release
Pre-release
·
3 commits
to staging/2.3
since this release
This is a prerelease version of C#/WinRT with more bug fixes and improvements specifically to our .NET AOT support. One key thing to note is that our .NET 6 / .NET 7 support has been dropped starting from this release.
This version also has a preview Windows SDK projection which may be used if desired for the IWeakReferenceSource fix. It can be consumed by setting the following property in your C# project file based on the .NET version and the OS version that you are targeting:
.NET 8
<WindowsSdkPackageVersion>10.0.xxxxx.72-preview</WindowsSdkPackageVersion>.NET 9
<WindowsSdkPackageVersion>10.0.xxxxx.73-preview</WindowsSdkPackageVersion>C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/2.3.0-prerelease.250720.1
What's Changed
- Fix AnalyzerReleases.Shipped typo by @dotMorten in #1868
- Remove .NET 6 target from all projects by @Sergio0694 in #1875
- Fix CI by @manodasanW in #1879
- Update staging/2.3 from main by @Sergio0694 in #1882
- Improved Diagnostics for error scenarios with authoring projects by @chenss3 in #1863
- Skip closure allocation in IDIC caching by @Sergio0694 in #1888
- Make 'CreateIIDForGenericType' zero-alloc by @Sergio0694 in #1889
- Enable support for C# collection expressions by @Sergio0694 in #1878
- Add 'CsWinRTEnableManifestFreeActivation' feature switch by @Sergio0694 in #1887
- Implement stub .exe support for apps + WinRT components by @Sergio0694 in #1895
- Fix IDIC casts failing during authoring scenarios by @manodasanW in #1899
- Fix projected covariance interfaces by @manodasanW in #1902
- Merge master to staging/2.3 by @manodasanW in #1905
- Document AotOptimizerEnabled and GeneratedWinRTExposedTypeAttribute by @dongle-the-gadget in #1910
- [CodeQL] suppress usage of SHA1 in uuidv5 generation of WinRT pinterface guids by @DefaultRyan in #1911
- Fix adding error info object to Exception.Data on net framework by @manodasanW in #1916
- Add mapping from COR_E_INVALIDOPERATION by @manodasanW in #1920
- Add mapping for 'E_NOTSUPPORTED' by @Sergio0694 in #1921
- Update staging/2.3 by @manodasanW in #1924
- Enable adding GC pressure on Native AOT by @Sergio0694 in #1933
- Enable propagating WinRTRuntimeClassName value to activation factory lookup by @manodasanW in #1934
- Update staging with latest changes from master by @manodasanW in #1935
- Add analyzer for '[ComImport]' casts on AOT by @Sergio0694 in #1927
- Avoid `QueryInterface' + 'Release' when wrapping managed CCWs by @Sergio0694 in #1938
- Don't use legacy 'ComWrappers' overload for COM aggregation by @Sergio0694 in #1945
- Remove unused internal 'IPropertyValue' and IDIC support by @Sergio0694 in #1937
- Add .NET 9 target for WinRT.Runtime.dll by @Sergio0694 in #1843
- Add analyzer for trim-unsafe casts to projected runtime class types by @Sergio0694 in #1956
- Migrate pipeline by @manodasanW in #1957
- ReleaseObjects should safely handle non projected RCWs by @manodasanW in #1958
- Fix signing location by @manodasanW in #1960
- Add attribute and code fixer for trim-unsafe casts by @Sergio0694 in #1959
- Central package management by @manodasanW in #1962
- Add TSA override by @manodasanW in #1964
- Improve CI build by @manodasanW in #1966
- Fix KeyValuePair pointer reuse issue by @manodasanW in #1967
- Avoid GetFunctionForDelegate call in delegate vtables by @manodasanW in #1971
- Add option to generate managed DllGetActivationFactory by @manodasanW in #1973
- Merge master to staging branch by @manodasanW in #1972
- Remove CsWinRTErrorForInvalidMergeReferencedActivationFactories error which doesn't apply anymore by @manodasanW in #1970
- Don't report RPC errors for completion handlers due to the other process is gone by @manodasanW in #1969
- Move source generator tests by @manodasanW in #1975
- Fix signing by @manodasanW in #1976
- Skip lambda allocation in 'EventSourceCache' by @Sergio0694 in #1977
- Sign winmd and MUI files by @manodasanW in #1978
- Moving CsWinRTGenerateManagedDllGetActivationFactory to right target by @manodasanW in #1991
- Embed manifest in stub exe if provided by @jevansaks in #1992
- Stub exe generation fails with a manifest if CsWinRTUseEnvironmentalTools=false by @jevansaks in #1994
- Don't ignore 'TryRemove' result in event cache by @Sergio0694 in #1980
- Update cast analyzer to handle switch statement patterns by @Sergio0694 in #2004
- Fix vtables not being generated for GeneratedBindableCustomPropertyAttribute classes by @manodasanW in #2010
- Handle 'IWeakReferenceSource' in 'ICustomQueryInterface' by @Sergio0694 in #2011
- Fix scenario where one authoring component project references another by @manodasanW in #2003
- Update custom property implementations to use fully qualified name with global by @manodasanW in #2012
- Escape assembly name when starting with number by @manodasanW in #2013
- Update hosting support to allow loading in default ALC by @manodasanW in #2014
- Disable and trim 'Marshaler' on Native AOT by @Sergio0694 in #1907
- Add IReferenceArray support for built-in types on AOT by @manodasanW in #2019
- Merge to staging/2.3 by @manodasanW in #2021
Full Changelog: 2.2.0.241111.1...2.3.0-prerelease.250720.1