With the .NET Community Toolkit 8.3 release, Microsoft said that APIs across all packages have been annotated to fully support trimming and AOT compatibility, to ensure that any part of the toolkit goes smoothly even in those scenarios. Also in the version 8.3 release, the MVVM Toolkit adds support for the net8.0-windows10.0.17763.0 target, to be fully trim and AOT-compatible with WinAppSDK (WinUI 3). Adding this target framework ensures that all types that might be marshaled to WinRT will have all the necessary interop code generated for them, Microsoft said.
Also in version 8.3, there are more performance improvements for the MVVM toolkit. The focus was on making support for INotifyPropertyChanging fully pay-for-play, Microsoft said. Thus, when this interface is not needed, there will be no additional overhead because of it. When this property is set to false, all code associated with INotifyPropertyChanging in ObservableObject will be trimmed out.
Among the bug fixes in the update, a fix has been made to a situation in which generated OnPropertyChanging methods were not being invoked for dependent properties when using [NotifyPropertyChangedFor]. And the ObservableValidator.HasError property will no longer automatically show up in table views in frameworks that dynamically generate columns from declared properties. Version 8.3 of the .NET Community Toolkit follows last year’s 8.2 release, which also brought new features to MVVM and performance improvements to MVVM source generators.