Skip to content

Releases: microsoft/CsWinRT

CsWinRT v1.5.0

08 Feb 20:09
394ce3a
Compare
Choose a tag to compare

Release Notes

This release of C#/WinRT includes several updates to the runtime and Windows SDK projections particularly with performance. The updated Windows SDK packages are available with the .NET March SDK updates This includes .NET SDK 6.0.201, 6.0.103, 5.0.406, 5.0.212.

C#/WinRT package

https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.5.0

.NET Windows SDK targeting packages:

https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.23
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.23
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.23
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.23
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.23

Breaking changes

This version of C#/WinRT includes AssemblyVersion changes in both the runtime and generated Windows SDK projection assemblies:

  • WinRT.Runtime.dll: AssemblyVersion incremented from 1.4.0.0 to 1.5.0.0
  • Microsoft.Windows.SDK.NET.dll: AssemblyVersion incremented from 10.0.xxxxx.22 to 10.0.xxxxx.23

The impact of the AssemblyVersion changes is that apps may need to update to a later version of the .NET SDK when consuming components/projections generated by this version of C#/WinRT.

Changes:

  • 394ce3a Change package version variable as it got picked up as a property for the build which is not what we want. (#1103)
  • 29f5b50 Fix prerelease variable getting overriden by YAML (#1102)
  • 2cb0b87 Fix build status URL (#1101)
  • 8bac003 Rebase over Refactor code to remove TypedObjectFactoryCacheForRuntimeClassName #1055 (#1100)
  • e64e716 GUID lookup optimizations and benchmarks (#1099)
  • 133204d Update sample to build projection for AnyCPU (#1098)
  • 091f44d Improvements to type marshaling (#1096)
  • 5e2c1df Fix issue where dispose ABI wasn't being called. (#1095)
  • b01c69d Update authoring samples to .NET 6 (#1066)
  • 2990b7b Switch to referencing the Windows App SDK instead of Project Reunion (#1094)
See More

This list of changes was auto generated.

CsWinRT v1.5.0-prerelease.220124.4

25 Jan 04:53
c90d2e3
Compare
Choose a tag to compare
Pre-release

Release Notes

This is a prerelease version of C#/WinRT focused on performance improvements to the runtime and projection code. The preview Windows SDK packages below can be consumed by setting the following property in your C# project file:

<WindowsSdkPackageVersion>10.0.xxxxx.23-preview</WindowsSdkPackageVersion

C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.5.0-prerelease.220124.4

.NET Windows SDK targeting packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.23-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.23-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.23-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.23-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.23-preview

Breaking changes

This version of C#/WinRT includes AssemblyVersion changes in both the runtime and generated Windows SDK projection assemblies:

  • WinRT.Runtime.dll: AssemblyVersion incremented from 1.4.0.0 to 1.5.0.0
  • Microsoft.Windows.SDK.NET.dll: AssemblyVersion incremented from 10.0.xxxxx.22 to 10.0.xxxxx.23

The impact of the AssemblyVersion changes is that apps may need to update to a later version of the .NET SDK when consuming components/projections generated by this version of C#/WinRT.

Changes:

  • c90d2e3 Increment assembly version due to new APIs added. (#1086)
  • 8dda44d Fix warnings and namespace conflicts in embedded scenario (#1084)
  • 0041d18 Reduce # of allocated objects (#1081)
  • 38209f8 Improvements to nullable / boxing (#1063)
  • 0b7b73f Control ADO-Maestro job using variable (#1083)
  • d60484d ADO Pipeline Variables (#1080)
  • bfd6846 Generic CreateMarshaler (#1079)
  • 3bf2eaa Reduce allocations for generated constructors (#1075)
  • e78db0e Remove idic usage from manual projections (#1068)
  • 14d7c3a Fixx issue when CsWinRTInputs contains multiple items and the timestamp picks the last item instead of the most recent. (#1077)
See More

This list of changes was auto generated.

CsWinRT v1.4.1

18 Nov 19:07
f8d506b
Compare
Choose a tag to compare

Release Notes

#f03c15 NOTE: Please see breaking change notice below, regarding dependent projections (Windows SDK and Windows App SDK). Updating to this version requires one of the following .NET SDK versions (or later): 5.0.210, 5.0.404, or 6.0.101.

This release of C#/WinRT includes several updates to the runtime and Windows SDK projections particularly with performance. This release also includes a preview of embedded support. For a detailed list of fixes and updates, refer to the Release 1.4.1 Milestone.

C#/WinRT package

https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.4.1

.NET Windows SDK targeting packages:

The following updated Windows SDK packages are available in .NET SDK 5.0.210, .NET SDK 5.0.404, and .NET SDK 6.0.101. See Call Windows Runtime APIs in desktop apps for more details on using these packages.

https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.22
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.22
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.22
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.22
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.22

Breaking changes

This version of C#/WinRT includes AssemblyVersion changes in both the runtime and generated Windows SDK projection assemblies:

  • WinRT.Runtime.dll: AssemblyVersion incremented from 1.3.0.0 to 1.4.0.0
  • Microsoft.Windows.SDK.NET.dll: AssemblyVersion incremented from 10.0.xxxxx.21 to 10.0.xxxxx.22

The AssemblyVersion changes are due to the fact that this version of C#/WinRT generates new helper methods for non-exclusive interfaces which are consumed by the generated code of a type implementing that interface. The impact of the AssemblyVersion changes is that components/projections that are built using this version of C#/WinRT and that implement interfaces from another projection (e.g., the Windows SDK or WinUI projection) will need an updated version of the other projection built using this version of C#/WinRT. Otherwise, you may see errors similar to the following:

Error CS0234: The type or namespace name 'IGraphicsEffectMethods' does not exist in the namespace 'ABI.Windows.Graphics.Effects' (are you missing an assembly reference?)

Performance improvements

  • Minimize usage of IDynamicInterfaceCastable: Improves performance in RCW function calls and reduces number of objects being created (#1015)
  • Optimize activation factory caching to always pin for life of the process (#1021)
  • Reduce cost of subscribing to events (#1027)
  • Initialize generic marshaller helper functions lazily to reduce reflection code (#1001)
  • Minimize Lazy<> usage and replace with Interlocked.CompareExchange (#1014)
  • Reduce redundant activation factory lookup (#1001)
  • Lazy creation of concurrent dictionaries (#1001)
  • Improve activation for string operations and dictionaries (#1006)
  • Cache IsWindowsRuntimeType (type marshalling improvements) (#1005)
  • CreateObject microbenchmark optimizations (reduce time spent during RCW creation and improvements in drawing) (#1010)
  • Dictionary lookup caching (#1033)

Additional perf improvements after 1.4.0-prerelease.211028.1:

  • String marshaling optimizations (#1036)
  • Improved performance for invoking events (#1042)
  • GetObjectReferenceForInterface improvements (#1046)
  • Reduce usage of GetRuntimeClassName (#1043)

Embedded support

This version of C#/WinRT includes a preview of embedded support. This provides support for compiling runtime and projection sources into your library/app output. For more information, refer to the docs, samples, and related issue #304 .

Bug fixes

  • Issue fixed where embedded quotes in custom attributes break the projection (#1037)
  • Issue fixed where second event handler not called (#626)

Changes:

See More
  • 8806f83 Link to Github discussions and update readme for contributing (#1035)
  • a0b8c37 Embedded sources: cswinrt (#1009)
  • 72b1236 Embedded sources: WinRT.Runtime (#1008)
  • fee2cb9 Dictionary lookup caching (#1033)
  • ad77248 Refactor Lazy<> uses (#1014)
  • 5fac5ad Update .NET SDK versions (#1030)
  • b8d4b5e Improvements to subscribing to events (#1027)
  • db7a841 Fix the FastUpToDateCheck relationship between WinRT.cs and the inputs winmds. (#1026)
  • 7dc015e Merge pull request #1015 from microsoft/ujjwalchadha/minimize_idic_usage
  • 298ae4b cleanup
  • 2378340 Merged master
  • 4427779 Update nuspec tags and description
  • 86f37b7 Make activation factories not weak and reduce duplicate retrieval of activation factories (#1021)
  • d2fb501 Fix private class methods
  • 375b8b9 Use targetframework property function (#1012)
  • 51a2183 Ensure AssemblyAttributes.cs file is generated with correct TargetFrameworkAttribute (#1020)
  • ee17bea Bump TestWinRT version (#1019)
  • 41beec2 Fix build with VS2022 (#1017)
  • 4035ab8 Convert activation and error info delegates to function pointers (#1018)
  • a32c457 CreateObject microbenchmark optimizations (#1010)
  • 66f4c01 Merge branch 'master' into ujjwalchadha/minimize_idic_usage
  • 0b13794 Refactor code_writers
  • ffb3267 projection code cleanup
  • 625f534 Remove idic use from static classes
  • e8a806d Call static methods from classes
  • bd25372 Cache IsWindowsRuntimeType, which is expensive to read custom attributes (#1005)
  • 565de2f CompareOrdinal all the things - string operations and dictionaries (#1006)
  • 7c2667b Move abi calls to static classes
  • a69a7ed Handle case where event source may remove event and any other added events don't fire (#997)
  • 54c6bfc Perf improvements (#1001)
  • c927df0 fixed a few assumptions regarding nuget cache (#1002)

This list of changes was auto generated.

CsWinRT v1.4.0-prerelease.211028.1

02 Nov 22:44
fee2cb9
Compare
Choose a tag to compare
Pre-release

Release Notes

This is a prerelease version of C#/WinRT focused on performance improvements to the runtime and projection code. The preview Windows SDK packages below can be consumed by setting the following property in your C# project file:

<WindowsSdkPackageVersion>10.0.xxxxx.22-preview</WindowsSdkPackageVersion

C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.4.0-prerelease.211028.1

.NET Windows SDK targeting packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.22-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.22-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.22-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.22-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.22-preview

Breaking changes

This version of C#/WinRT includes AssemblyVersion changes in both the runtime and generated Windows SDK projection assemblies:

  • WinRT.Runtime.dll: AssemblyVersion incremented from 1.3.0.0 to 1.4.0.0
  • Microsoft.Windows.SDK.NET.dll: AssemblyVersion incremented from 10.0.xxxxx.21 to 10.0.xxxxx.22

The AssemblyVersion changes are due to the fact that this version of C#/WinRT generates new helper methods for non-exclusive interfaces which are consumed by the generated code of a type implementing that interface. The impact of the AssemblyVersion changes is that components/projections that are built using this version of C#/WinRT and that implement interfaces from another projection (e.g., the Windows SDK or WinUI projection) will need an updated version of the other projection built using this version of C#/WinRT. Otherwise, you may see errors similar to the following:

Error CS0234: The type or namespace name 'IGraphicsEffectMethods' does not exist in the namespace 'ABI.Windows.Graphics.Effects' (are you missing an assembly reference?)

Performance improvements

  • Minimize usage of IDynamicInterfaceCastable: Improves performance in RCW function calls and reduces number of objects being created (#1015)
  • Optimize activation factory caching to always pin for life of the process (#1021)
  • Reduce cost of subscribing to events (#1027)
  • Initialize generic marshaller helper functions lazily to reduce reflection code (#1001)
  • Minimize Lazy<> usage and replace with Interlocked.CompareExchange (#1014)
  • Reduce redundant activation factory lookup (#1001)
  • Lazy creation of concurrent dictionaries (#1001)
  • Improve activation for string operations and dictionaries (#1006)
  • Cache IsWindowsRuntimeType (type marshalling improvements) (#1005)
  • CreateObject microbenchmark optimizations (reduce time spent during RCW creation and improvements in drawing) (#1010)
  • Dictionary lookup caching (#1033)

Bug fixes

  • Issue fixed where second event handler not called (#626)

Changes:

  • fee2cb9 Dictionary lookup caching (#1033)
  • ad77248 Refactor Lazy<> uses (#1014)
  • 5fac5ad Update .NET SDK versions (#1030)
  • b8d4b5e Improvements to subscribing to events (#1027)
  • db7a841 Fix the FastUpToDateCheck relationship between WinRT.cs and the inputs winmds. (#1026)
  • 7dc015e Merge pull request #1015 from microsoft/ujjwalchadha/minimize_idic_usage
  • 298ae4b cleanup
  • 2378340 Merged master
  • 4427779 Update nuspec tags and description
  • 86f37b7 Make activation factories not weak and reduce duplicate retrieval of activation factories (#1021)
See More
  • d2fb501 Fix private class methods
  • 375b8b9 Use targetframework property function (#1012)
  • 51a2183 Ensure AssemblyAttributes.cs file is generated with correct TargetFrameworkAttribute (#1020)
  • ee17bea Bump TestWinRT version (#1019)
  • 41beec2 Fix build with VS2022 (#1017)
  • 4035ab8 Convert activation and error info delegates to function pointers (#1018)
  • a32c457 CreateObject microbenchmark optimizations (#1010)
  • 66f4c01 Merge branch 'master' into ujjwalchadha/minimize_idic_usage
  • 0b13794 Refactor code_writers
  • ffb3267 projection code cleanup
  • 625f534 Remove idic use from static classes
  • e8a806d Call static methods from classes
  • bd25372 Cache IsWindowsRuntimeType, which is expensive to read custom attributes (#1005)
  • 565de2f CompareOrdinal all the things - string operations and dictionaries (#1006)
  • 7c2667b Move abi calls to static classes
  • a69a7ed Handle case where event source may remove event and any other added events don't fire (#997)
  • 54c6bfc Perf improvements (#1001)
  • c927df0 fixed a few assumptions regarding nuget cache (#1002)

This list of changes was auto generated.

New Contributors

Full Changelog: 1.2.4...1.4.0-prerelease.211028.1

CsWinRT v1.3.5

16 Sep 20:16
8ec0bed
Compare
Choose a tag to compare

Release Notes

This release of C#/WinRT includes several updates and fixes to the runtime and Windows SDK projections, and improvements with C#/WinRT authoring scenarios. The updated Windows SDK packages are available with the .NET October Update (.NET SDK 5.0.402 and .NET SDK 5.0.208). For a detailed list of fixes and updates, refer to the Release 1.3.5 Milestone.

C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.3.5

.NET Windows SDK targeting packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.21
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.21
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.21
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.21
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.21

Note: Starting with this version of C#/WinRT, we are generating packages for the Windows 11 SDK (build 22000).

Bug-fixes and Updates

C#/WinRT runtime and projection updates:

  • Fixed a regression with TypeInitializationException using PointCollection in Windows App SDK 0.8.2 (#967 )
    • The fix will be available in a future update to Windows App SDK

The following fixes are included with the updated Windows SDK projections in the .NET October Update:

  • Fixed NullReferencException when writing to bluetooth GATT Characteristic (#755)
  • Fixed NullReferenceException with PushNotification (#905)
  • Fixed NullReferenceException in ABI.Microsoft.UI.Xaml.Data.ICustomProperty (#840)
  • Fixed issues with previously accessed value types being returned incorrectly for RCWs of other objects, for example with PnpObject (#859)
  • Fixed NullReferenceException when passing null for a byte[] (#974)
  • Make marshaller types public to ensure non-blittable structs can be properly marshalled (#976)
  • Improve debugging by not throwing exceptions when loading DLL not found (#933)

C#/WinRT authoring updates:

  • Improved authoring project reference support. Refer to our authoring docs for more details (#919)
  • Fixed issue where only 1 authored component can be referenced (#774)
  • Added diagnostics for authored classes that do not implement an interface correctly (#940)

Changes:

  • 8ec0bed Update authoring support for project references (#919)
  • 837b1a8 Add settings for .NET Download timeout (#991)
  • 7acab7a Fix array marshalers to handle null (#983)
  • 26943b2 Fix scenario with set only property declared across projections (#981)
  • a9a8631 Make marshaller types public. (#976)
  • 6354547 Fix assembly lookup for type reference (IIDOptimizer) (#979)
  • c9b8e38 Ujjwalchadha/fix value type caching 2 (#980) [ #932 ]
  • dcec6e0 Return IIDOptimizer exit code (#960)
  • 1ad1a54 Check that a class correctly implements its interfaces (#942)
  • d481c07 Support multiple authored runtime components (#922)
See More
  • 2c76f77 Fixes misleading error about IIDOptimizer (#949)
  • fbce33a initial arm64 support - building winrt.host.dll only (Reunion doesn't support arm, so cannot test) (#950)
  • 990ac98 modify frameworkreference guidance (#944)
  • 8e04090 Fix value type caching (#932)
  • 3387042 removed en-us (#945)
  • 48670e3 Import root targets in WinRT.Runtime (#943)
  • 0335a5b Customize ERROR_INVALID_WINDOW_HANDLE exception text to make window interop helpers discoverable (#941)
  • cfc26e5 Add fallback if QI on agile reference fails. (#934)
  • 3507d24 Run IIDOptimizer on WinRT.Runtime (#931)
  • c956f4c Don't use exceptions for flow control when loading dlls. (#933)
  • 75ffe54 Fix storage buffer specific IMarshal interface by updating it to new interface format (#930)

This list of changes was auto generated.

CsWinRT v1.3.3

25 Jul 01:18
4560924
Compare
Choose a tag to compare

Release Notes

This release of C#/WinRT includes performance improvements and fixes to the runtime and Windows SDK projections, and updates to the C#/WinRT package. For a detailed list of fixes and updates, refer to the Release 1.3.3 Milestone.

C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.3.3

.NET Windows SDK targeting packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.20
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.20
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.20
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.20

Important Notes:

  • Microsoft.Windows.SDK.NET.dll AssemblyVersion has been incremented from 10.0.xxxxx.18 to 10.0.xxxxx.20.
  • This version of C#/WinRT and the corresponding .NET Windows SDK targeting packages are not included in the .NET SDK September update. The next .NET SDK update will be in October.

Bug-fixes and Updates

Updates in this release include:

  • GUID IID performance optimizations (#849)
  • Support for generating projections on .NET 6 (#915)
  • Fixed issue where garbage collection of EventSource causes subsequent failure to unsubscribe handlers (#910)

Changes:

  • 4560924 Fix heap corruption. (#923)
  • 8e15ac2 Added caching of event registration state to support unsubscribes across garbage collections (#910)
  • b52b1e6 Support net6 (#915)
  • 72ba46d Update IIDOptimizer Target (#920)
  • 605f112 fixed typo in IWebAuthenticationCoreManagerInterop (#916)
  • 75f268e Fix build tools error with IIDOptimizer (#918)
  • df061aa Update nuget/NOTICE.txt for System.CommandLine. (#914)
  • 2f2e3fc [Perf] Add IID Lookup Optimization (#849)
  • d146899 Remove duplicate file from the CsWinRT NuGet package. (#909)

This list of changes was auto generated.

CsWinRT v1.3.1

15 Jul 22:40
92f671d
Compare
Choose a tag to compare

Release Notes

This release of C#/WinRT is aligned with the .NET August 2021 Update. This release includes performance improvements and fixes to the runtime and Windows SDK projections, and updates to the C#/WinRT package. For a detailed list of fixes and updates, refer to the Release 1.3.1 Milestone.

C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.3.1

.NET Windows SDK targeting packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.19
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.19
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.19
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.19

https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.100-preview
Note: This is a preview Windows Insider SDK package. See aka.ms/windowsinsidersdk for more details on .NET 5 support for targeting the Insider SDK.

Bug-fixes and Updates

  • Fixed an issue with InvalidCastException when implementing Drag & Drop scenario (#807)
  • Performance improvements with event handler optimizations (#900)
  • Fixed an issue with COM interop helpers crashing with x86 (#885)
  • Fixed an issue with generated C#/WinRT files being analyzed for Code Analysis warnings (#848)

Changes:

  • 92f671d Fix build.cmd where it didn't complete. (#904)
  • e6122f0 Fix datapackage to datapackageview invalid cast (#903)
  • fcf49db Ensure generated code has the correct header to be picked up by code analysis. (#902)
  • 363f47f Update projection sample (#896)
  • 27fe1f2 Add missed test (#901)
  • 58ede84 Event handler optimizations (#900)
  • 46e26cd User/shasnayak/port object lifetime tests (#847)
  • 218bf40 Use SDK x86 hive if it exists, as sometimes kits can get installed as if pointing to the non-existing x64 program files (#898)
  • ffcc290 Interop interfaces are all pass-by-ref for IID param (#894)

This list of changes was auto generated.

CsWinRT v1.3.0

18 Jun 01:29
3b640ea
Compare
Choose a tag to compare

Release Notes

This release of C#/WinRT is aligned with the .NET July 2021 Update and includes performance improvements, bug-fixes, and other updates to the runtime and Windows SDK projections. This release also includes updates to the C#/WinRT package. For a detailed list of fixes and updates, refer to the Release 1.3.0 Milestone.

C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.3.0

.NET Windows SDK targeting packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.18
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.18
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.18
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.18

https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.71-preview
Note: This is a preview Windows Insider SDK package. See aka.ms/windowsinsidersdk for more details on .NET 5 support for targeting the Insider SDK.

Important Notes

  • WinRT.Runtime.dll AssemblyVersion has been incremented from 1.2.0.0 to 1.3.0.0.
  • Microsoft.Windows.SDK.NET.dll AssemblyVersion has been incremented from 10.0.xxxxx.10 to 10.0.xxxxx.18.
    Because of the AssemblyVersion changes, building with the new runtime will require all dependent components to update their runtime version as well.
  • Starting with this release, we are also generating the Windows SDK reference packages for Windows 10 SDK (10.0.20348.0), version 2104. This version is primarily intended for Windows Server development.

Bug-fixes and Updates

Runtime and Windows SDK projection updates:

  • Performance improvements for subscribing to events (#852)

  • Added projections for COM Interop APIs (#830)

    • See known issue on building with x86 (#888)
  • Added support for calling non-agile objects regardless of current context (#853)

  • Fix for InvalidCastException from WinRT.IInspectable to Microsoft.UI.Xaml.Data.ICustomProperty (#856)

  • Fix for aggregated tear off scenarios (#870)

C#/WinRT tool updates:

  • Automatically detect dependent WinMDs for C#/WinRT authored components (#855)

  • Fix for invalid C# generated projections when using newlines in custom attributes (#873)

  • Fully qualify attribute types to fix projection issue with nested namespaces (#878)

Changes:

  • 3b640ea added out param default to event source handlers (#884)
  • 84a3654 [DO NOT MERGE] conditional revert of EventSource caching (#876) [ #861 ]
  • 21f231b Fixing targets when winrt.cs doesn't exist (#883)
  • d607f3e Address potential races in recent event changes (#882)
  • ea43282 Fixed dotnet build in benchmarks (#865)
  • 1e1ace2 Rework Fast Up To Date checks to correctly capture cs:winmd relationship (#880)
  • 8136c03 Added support for out and array params for event source handler (#881)
  • 268f08b Fully qualify attributes. (#878)
  • 750ac74 Prioritize the assembly whether the projected type is to look up the helper type. (#877)
  • 0bc7f16 Test occasionally times out in pipeline, increasing timeout. (#875)
See More
  • 1975832 Allow for either new line to be used. (#874)
  • 14f9733 Fix codegen when custom attributes have embedded newlines (#873)
  • c4ea06b Fix issue with interop winmd (#872)
  • 9154452 Fix for aggregated tear off scenarios (#870)
  • d4a60fd Clean intermediate dirs in pipeline builds to manage disk space (#871)
  • 334cb0e Fix staging of interop winmd (pipeline has coordinated changes) (#869)
  • 8b780e4 Fix build warning treated as error for x86 builds (#868)
  • 0a35e01 Project COM interop APIs (#830)
  • fa038af Added caching of event registration state to support unsubscribes across garbage collections (#861)
  • af996c1 Deleted redundant binary file added by mistake (#867)
  • dbcf290 Fixed special cased event source (#866)
  • e372646 enum arrays are not blittable - special cased (#860)
  • 7c19930 Ujjwalchadha/perf/eventsourcecodegen (#852)
  • 2a6c82e Add support for calling non agile objects regardless of current context (#853)
  • 3700e25 Add logic to gather respective WinMDs of dependent projection DLLs. (#855)
  • 806fe82 Update dotnet SDK to to address VS 16.10 regressions (#857)

This list of changes was auto generated.

CsWinRT v1.2.6

13 May 22:43
f84a3d5
Compare
Choose a tag to compare

Release Notes

This release of C#/WinRT is aligned with the .NET June 2021 Update, and includes a couple bugfixes to the runtime and Windows SDK projections, as well as updates to the C#/WinRT package. For a complete list of fixes and updates, refer to the Release 1.2.6 Milestone.

C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.2.6

.NET Windows SDK targeting packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.17
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.17
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.17

This release includes the following changes:

  • Runtime fix with RPC_E_WRONG_THREAD exceptions when passing C# managed objects as parameters (#612)
  • Performance improvements by caching Type.GetType() calls (#785)
  • Enable FastUpToDateCheck in VS for C#/WinRT projection project authors (#804)
  • Removed assembly-level SupportedOSPlatformAttribute to enable C#/WinRT projection authors to apply a later version (#792)

Changes:

  • f84a3d5 Revert "Fix InvalidCastExceptions from RCW reuse (#833)" (#843)
  • 56b520f cache GetHelperType lookup (#838)
  • 396128c Add free threaded marshaling to all managed objects (#836)
  • 3f5dd34 Fix InvalidCastExceptions from RCW reuse (#833)
  • 9359ad7 removed assembly-level SupportedOSPlatformAttribute to enable projection authors to apply a more restricted (later) version (#829)
  • ef2472e Add caching for type lookup of runtime class name, to address exception storm perf issue (#828)

This list of changes was auto generated.

CsWinRT 1.2.5

22 Apr 00:07
da45411
Compare
Choose a tag to compare

Release Notes

C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.2.5

Changes:

  • da45411 Restored ContractVersion attribution as Xaml Compiler relies on it (#815)

This list of changes was auto generated.