In the latest release of the .NET Community Toolkit 8.3, Microsoft has made significant improvements to ensure AOT compatibility and trimming support across all APIs. This means that using any part of the toolkit will now seamlessly work in scenarios requiring AOT compatibility. Additionally, the MVVM Toolkit in version 8.3 now supports the net8.0-windows10.0.17763.0
target, making it fully trim and AOT-compatible with WinAppSDK (WinUI 3). This update ensures that all types marshaled to WinRT will have the necessary interop code generated for them.
Version 8.3 also includes performance enhancements for the MVVM toolkit, with a focus on optimizing the support for INotifyPropertyChanging
to be fully pay-for-play. This means that if the interface is not required, there will be no additional overhead. When the property is set to false, all associated code in ObservableObject
related to INotifyPropertyChanging
will be stripped out.
Furthermore, this update addresses several bug fixes, including correcting an issue where generated OnPropertyChanging
methods were not invoked for dependent properties when using [NotifyPropertyChangedFor]
. Additionally, the ObservableValidator.HasError
property will no longer automatically appear in table views in frameworks that dynamically generate columns from declared properties.
The 8.3 release of the .NET Community Toolkit builds upon the enhancements introduced in the previous 8.2 release, bringing new features to MVVM and further improving performance in MVVM source generators.