Microsoft has unveiled version 8.3 of the .NET Community Toolkit, which introduces robust support for .NET 8 and NativeAOT, alongside several performance enhancements. This update was officially announced on August 27 and marks a significant step forward in the toolkit’s evolution, bringing crucial features that enhance the developer experience. The .NET Community Toolkit, which is platform-agnostic, serves as a successor to the Windows Community Toolkit, providing an extensive collection of helpers, extensions, custom controls, and APIs. Designed to be independent of any specific UI platform, it is a versatile resource for .NET developers, with the source code freely accessible on GitHub.
One of the key highlights of the version 8.3 release is the integration of support for .NET 8, the latest major release of .NET, which became available in November. This addition ensures that developers using the toolkit can leverage the latest capabilities of .NET 8 in their projects, offering a more seamless and future-proof development experience. Microsoft emphasized that all APIs across the toolkit packages have been carefully annotated to support trimming and Ahead-of-Time (AOT) compatibility. This update ensures that even in scenarios involving trimming or AOT, the toolkit functions smoothly, making it highly adaptable for a variety of application types.
Additionally, the MVVM Toolkit sees significant improvements in version 8.3. The update introduces support for the net8.0-windows10.0.17763.0 target framework, making it fully compatible with WinAppSDK (WinUI 3) and ensuring AOT and trimming compatibility. This adjustment allows the toolkit to work seamlessly with applications that may involve interoperation with WinRT, as it ensures that the necessary interop code is generated for all types that might be marshaled. These updates to the MVVM Toolkit promise to streamline the development process, enhancing performance and providing greater flexibility for developers targeting the Windows ecosystem.
Performance is another focal point in this release. Microsoft has optimized the MVVM Toolkit to make support for the INotifyPropertyChanging interface more efficient. Previously, there was some overhead associated with this interface, even when it wasn’t needed. With version 8.3, developers will see no additional performance impact when INotifyPropertyChanging is not in use, as any associated code will be trimmed out automatically. This improvement significantly reduces the overhead, contributing to a leaner and more efficient development experience. Alongside this, a series of bug fixes have been implemented, including resolving issues where OnPropertyChanging methods weren’t invoked for dependent properties, and fixing the automatic display of the ObservableValidator.HasError property in table views. This comprehensive update demonstrates Microsoft’s ongoing commitment to refining the toolkit and providing developers with a more efficient and powerful toolset.