Releases: microsoft/CsWinRT
CsWinRT 1.2.3
Release Notes
This release fixes an issue with missing Windows.Foundation.Metadata.* attributes affecting Project Reunion/WinUI applications.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.2.3
Changes:
This list of changes was auto generated.
CsWinRT v1.2.2
Release Notes
NOTE: Due to an issue with .NET builds, the .NET reference packages (Windows SDK projections) in this release are included in .NET 5.0.300 SDK, but not in the .NET 5.0.203 SDK in the .NET May 2021 Update.
This release includes a couple bugfixes to the runtime and Windows SDK projections. Since the last .NET April 2021 Update corresponds with C#/WinRT v1.1.4, please refer to the v1.2.0 Milestone, v1.2.1 Milestone, and 1.2.2 Milestone for all fixes since the .NET April Update (.NET SDK 5.0.202). In particular, C#/WinRT v1.2.0 includes fixes for impactful memory leaks in WinUI applications.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.2.2
.NET reference packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.16
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.16
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.16
This release includes the following fixes:
- Runtime fix for memory leaks using WinRT APIs such as
Windows.Graphics.Imaging
andWindows.Storage
(#645)
Changes:
This list of changes was auto generated.
CsWinRT v1.2.1
Release Notes
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.2.1
This release includes the following changes:
- A workaround fix in the runtime to address a WinUI issue with casting IBindableIterable to IIterable. (#793)
- Setting
CsWinRTWindowsMetadata
when referencing the C#/WinRT package is not required. (#786)
Changes:
- 2c38175 Fix scenarios where the managed object which the event handler is registered on is gone. (#795)
- 7d70258 model IUserConsentVerifierInterop correctly (#794)
- 77b498e Add workaround for issue in WinUI where they cast IBindableIterable to IIterable (#793)
- ad6adcb default CsWinRTWindowsMetadata to TargetPlatformVersion (#786)
This list of changes was auto generated.
CsWinRT v1.2.0
Release Notes
This release addresses a major memory leak issue seen in WinUI and Project Reunion C# desktop applications (#782). For more details on bug-fixes in this release, refer to the Release 1.2.0 Milestone.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.2.0
This release includes the following fixes:
-
Fix for memory leaks in various scenarios using WinUI objects and page navigation (#413): This fix will require a C#/WinRT package reference for the updated runtime until an updated .NET SDK comes out with that runtime, in addition to an upcoming WinUI update.
Some of the main memory leak scenarios resolved include:
- Aggregated scenarios: subclassing WinUI objects, invoking an event handler, property or method
- Non-aggregated scenarios: page navigation, reference cycles
-
Fix for GC holes in string marshaling (#773): The updated runtime includes the fix for crashes resulting from the memory location of the string object being moved by the GC. The remaining part of the fix for this issue involving a memory leak will be addressed in a future Windows SDK projection update.
Thank you @filipnavara for this community contribution!
Important Notes
- WinRT.Runtime.dll
AssemblyVersion
has been incremented to v1.2.0.0. Because of this version change, building with the new runtime will require all dependent components to update their runtime version as well.
Changes:
- 0359ee3 Address memory leaks (#782)
- 1ec2628 Fix GC hole in string marshaling (#773)
- 231f628 Update bgtask sample (#763)
- dec48d4 Update authoring docs and readme for 1.1.4 (#766)
- 04d8a9d Update AuthoringDemo sample to 1.1.4 (#772)
This list of changes was auto generated.
CsWinRT v1.1.4
Release Notes
This release of C#/WinRT is aligned with the .NET April 2021 Update, and includes a couple bugfixes to the runtime and Windows SDK projections. For a complete list of additions and bug-fixes, refer to the Release 1.1.4 Milestone. The v1.1.4 C#/WinRT NuGet package also includes updates to authoring support, which includes automating the runtimeconfig.json file and removing the need for manual edits to the native application project file.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.1.4
.NET reference packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.15
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.15
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.15
This release includes the following fixes:
- Fixes for System.ObjectDisposedException issues (#682)
- DateTimeOffset marshaling now supports negative FileTime, making it compatible with .NET Core 3.
Thank you @huoyaoyuan for this community contribution! - Fixed a regression involving typeof(Type) checks that fixes loading default styles of custom control: microsoft/microsoft-ui-xaml#4414
- Fixed a regression involving InvalidCastException for a few types such as TimeSpan: microsoft/microsoft-ui-xaml#4461
Changes:
- 537d87a Update ComWrappersSupport (#771)
- 6e11955 Fixed regression in determining whether to provide IReference implementation, which dropped TimeSpan and a few other value types (#770)
- d968022 Update AuthoringWinUITest (#769)
- 2513fe2 Update targets (#765)
- 006ad4e Fix GC issues with static events. (#759)
- 0e66e66 Fix typeof(Type) checks to account for RuntimeType (#760)
- d0051af Use .NET Core 3.1 compatible marshaling for DateTimeOffset. (#761)
This list of changes was auto generated.
CsWinRT v1.1.3
Release Notes
This release fixes a regression in v1.1.2 that caused ReadyToRun builds to break.
Note: This release is not associated with a .NET SDK update.
C#/WinRT Package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.1.3
Changes:
- d361800 update condition for authoring targets (#752)
- 91df542 Update namespace diagnostics (#750)
- 815d26f Attempt fix for agile reference disposed. (#746)
- a696f3b Add missing source metadata for WindowsRuntimeType attribute (#744)
- 173a21e Add version attribute for all types. (#742)
- b477b94 Update usage and readme (#722)
This list of changes was auto generated.
CsWinRT v1.1.2
Release Notes
This release of C#/WinRT is aligned with the .NET March 2021 Update and includes a couple fixes and updates to the runtime and Windows SDK projections for .NET v5.0.4. For a complete list of additions and bug-fixes, refer to the Release 1.1.2 Milestone.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.1.2
.NET reference packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.14
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.14
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.14
Changes:
- d777f4b ensure that value/delegate types are projected before implementing IPropertyValue (#741)
- 4fa1fda Perf improvements in CCW creation. (#739)
- eff4b06 add link to bgtask sample (#738)
- c64ee59 Fix logging issues and move to SyntaxReceiver (#737)
- 8e1ce85 Add background task component sample (#736)
- 65f4e3f Update sample for 1.1.2-prerelease (#727)
This list of changes was auto generated.
CsWinRT v1.1.2-prerelease.210208.6
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.1.2-prerelease.210208.6
Release Notes
This release features an initial preview of C#/WinRT authoring support. This version supports consumption of C#/WinRT authored components using a package reference or project reference, with a few project modifications. For details on how to author and consume a C#/WinRT component, refer to the authoring docs. This version does not yet support WinUI 3 authoring scenarios.
For a list of authoring changes and bug-fixes, see the 1.1.2 Preview milestone.
Changes:
- 7ff08a8 Project reference support (preview) (#728)
- 213d9f4 Partial class support (#726)
- 6474aec Authoring bug fixes (#720)
- 9901802 updates to authoring.md (#716)
- c1d6d4f Fix authoring bugs (#712)
- e2b86a3 Fix sample. (#715)
- 8fcb3ee Allow using non WinRT attributes on authored types (#711)
- efd8d0d Reduce properties required to be set for authoring (#710)
- 435aa56 Add authoring sample (#690)
- 3621d0e Fix namespace diagnostic predicate (#709)
See More
- 02ee3f4 Remove unsupported solution configs, make get_testwinrt curdir-independent, assert TestWinRT requirement (#706)
- 4b3c932 Add support for explicitly implemented interfaces (#704)
- 02896f5 Update authoring.md (#691)
- e33691e Update nuget targets (#688)
- 5351b4b Update Diagnostic rules (#685)
- 02894d7 pr feedback
- 244e24d Merge branch 'master' into jlarkin/update-diagnostics
- 28eae2e doc CsWinRTEnableLogging (#689)
- 31fe428 fix bug in ref diagnostic being thrown
- 00da995 fix bug in unittests
- f96ab51 update help link for rules
- 0e9c04d Add notes to rules in AnalyzerReleases
- fd9d6ac update gitignore, add analyzer release files, update unittests for new diagnostic identifer (wme -> cswinrt)
- fc2f2b6 feedback
- ad03f4d Merge branch 'master' into jlarkin/update-diagnostics
- ea2ac32 change wme to cswinrt
- b7f8d71 fix tables and casing in hosting.md (#683)
- 7a31b0b update diagnostic messages
This list of changes was auto generated.
CsWinRT v1.1.1
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.1.1
Release Notes
This release of C#/WinRT is aligned with the .NET February 2021 Update and includes a couple fixes and updates to the runtime and Windows SDK projections for NET v5.0.3. For a complete list of additions and bug-fixes, refer to the Release 1.1.1 Milestone.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.1.1
.NET reference packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.13
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.13
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.13
Changes:
- 5e14799 Implement singleton pattern for ComWrappers (#675)
- 913244d Fixed ObjectDisposedException on delegates (#674)
- 3a4dd0d Add DefaultOverload attribute to projected interface methods (#672)
- 0f83d07 Fix path to generated winmd (#671)
- 15942b3 Add targets for hosting support (#665)
- f5a5255 Fix issue where the same component can be loaded in multiple ALC and cause cast issues (#669)
- fb0e7ad Authoring bug fixes and xaml type mapping (#666)
- 86895f6 Add mapping from ContractVersion attrib to SupportedOSPlatform attrib for VS compat assistance (#557)
- b7dad4a update broken link (#664)
- 36f722d Move authoring tests to test folder (#660)
See More
- 503fa19 Remove defunct roslyn feed for function pointer support (#661)
- 67aef89 Composable type support and bug fixes (#652)
- 21e070e Authoring: Diagnostic for private getter (#651)
- 29d8ec0 Update versioning scenarios error messages (#639)
- d1b538e Authoring Support: Add WinRT Diagnostics (#615)
- 88af9af Add docs on authoring components (#595)
- 27eebc9 Diagram and winrt.runtime background (#599)
- 58c12fe Add issue templates (#638)
- 69e9264 Authoring support for C# built-in types to WinRT types (#631)
- b89f261 Adding missing Marshaler array functions. (#630)
- 7e31b55 Disable VS tracking (#637)
- 1b4ff32 fix broken nuget links (#632)
- fa3b39e Move up to WinUI 3 Preview 3, remove workarounds in sample, centralize SDK version (#625)
- bd1fd97 Fix broken links documentation (#619)
- 9162cec Update README.md (#618)
- 0c7e84d Implement GCPressure (#446)
- b664ab6 Add versioning spec (#590)
- cfbc973 Repo source code directory restructure (#558)
- 2a0058e Updated build.cmd to fix build issues (#613)
- 74e1ad7 Handle spaces in paths for nuspec and build (#608)
- b6ebcbb Consumed inheritance test projects from TestWinRT and added basic test cases (#600)
This list of changes was auto generated.
CsWinRT v1.1.0
Release Notes
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.1.0
C#/WinRT v1.1.0 aligns with the servicing .NET December 2020 Update, which is focused on fixing bugs that were found after .NET5 GA. The runtime and Windows SDK projection assemblies from this version have been inserted into the .NET 5.0.101 SDK. For a complete list of bug-fixes, see the Release 1.1.0 Milestone.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/1.1.0
.NET reference packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.12
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.12
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.12
Breaking Changes
- WinRT.Runtime.dll
AssemblyVersion
has been incremented to v1.1.0.0. Note that building components with the updated servicing SDK may cause versioning issues if referencing projects are on an earlier version of .NET5 (e.g., .NET5 RTM). - Added System.Numerics.VectorExtensions static methods. (#548 )
Common Errors
If your applications target an earlier .NET SDK version than any of its dependencies, it is recommended to upgrade your .NET SDK to the latest version (.NET 5.0.101 SDK). The following errors/warnings may occur in this scenario, depending on how types are shared:
- CS1705 Compiler Error: Assembly 'AssemblyName1' uses 'WinRT.Runtime, Version=1.1.0.0, Culture=neutral, PublicKeyToken=99ea127f02d97709' which has a higher version than referenced assembly 'WinRT.Runtime' with identity 'WinRT.Runtime, Version=1.0.1.33301, Culture=neutral, PublicKeyToken=99ea127f02d97709'
- Warning MSB3277: Found conflicts between different versions of "WinRT.Runtime" that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed.
- System.IO.FileLoadException: 'Could not load file or assembly 'WinRT.Runtime, Version=1.1.0.0, Culture=neutral, PublicKeyToken=99ea127f02d97709'. The located assembly's manifest definition does not match the assembly reference.
The workaround for any of these errors or warnings is to upgrade your .NET SDK to the latest version (.NET 5.0.101 SDK).
Changes:
- d9f1d21 Add vtable entry for covariant IEnumerable for WinRT types too. (#601)
- cca8f40 Update StreamOperationsImplementation (#588)
- ee1fe28 Update interop.md (#586)
- 201147b Merge pull request #593 from microsoft/ujjwalchadha/fix-ibindablevector-code-gen
- 921464c Fixed code generation issues with projecting implementation of IBindableVector
- 3a28fb4 Remove (another) WinRT.Host.Shim.dll reference
- 46ec074 Add WinRT.Host and WinRT.Host.Shim to Nuget (#582)
- 02eaf84 Update sample for net5 GA (#577)
- 66da8e1 Update to .NET 5 RTM SDK. (#579)
- dc44457 Splitting AssemblyVersion from FileVersion. (#578)
- 0f8cec2 Adding Vector extensions for point and size. (#575)
- ab6a5ec Use custom marshalers when type is erased with MarshalInspectable (#568)
- 183fc48 Merge pull request #573 from microsoft/ujjwalchadha/fix-splittablemap
- ecb5672 Fixed ConstantSplittableMap's Keys and Values to return read only collections
- d00974b Merge pull request #564 from microsoft/ujjwalchadha/fix-native-to-managed-calls [ #553 ]
- 0a17d76 Merge branch 'master' into ujjwalchadha/fix-native-to-managed-calls
- cc14330 Added missing methods
- e4c16dd replacement for WindowsRuntimeMarshal.GetActivationFactory (#572)
- 58f57ac link com interop guide to readme (#571)
- bd267cd update readme doc (#541)
- c29da87 Code cleanup
- 8619e44 Undid changes not required for the fix
- 642c651 Merge branch 'master' into ujjwalchadha/fix-native-to-managed-calls
- 84baa1f Merge branch 'ujjwalchadha/test-manual-projections' into ujjwalchadha/fix-native-to-managed-calls
- 95a7e72 Show actual NuGet link (#566)
- 688c4bd COM Interop guide (#563)
- ba155f5 migrate from PackageES to ESRP CodeSign task (#565)
- 730e742 Fixed #553 and further issues in native to managed calls
- d050500 Merge pull request #559 from microsoft/fix-idictionary-clear
- 4ac4147 Merge branch 'master' into fix-idictionary-clear
- 8d6b661 fix issue with FromManaged returning an HSTRING reference, rather than allocating an HSTRING, causing crashes (#551)
- 25e2ed4 Fixing read only dictionary lookup. (#536)
- 684f321 Ensure that xamlprecompile also adds generated sources (#552)
- 5b17869 Fixed IDictionary.Clear EntryPointNotFoundException
- 28e42b9 removed cruft causing warning (#556)
- 085ff21 Added tests for collections
- a36c61e Adding tests for IBindable and IDictionary
- fab6067 ensure robustness against malformed runtime class name (#534)
- 892817e Add more tests for WindowsRuntimeBufferExtensions (#527)
- af63025 Fixed removal of dll references that report IsWinmdFile == true (#533)
- fc55163 Forget the solution extension - workaround worked before, but under a ".sln" folder (#532)
- 1027a50 workaround for VS 16.8 SolutionDir bug (#529)
See More
This list of changes was auto generated.