.NET 8, the planned next version of Microsoft’s software development platform, has moved to a second and final release candidate (RC) stage. General availability is due in November.
Unveiled October 10, .NET 8 RC 2 can be downloaded from the Microsoft .NET website for Windows, Linux, and Mac. The successor to .NET 7, which was released in November 2022, .NET 8 will be supported for three years.
Enhancements in RC 2 include improved performance and UI fixes for the .NET MAUI (Multi-platform App UI) framework and updates to Entity Framework. With .NET 8, developers will see a variety of improvements ranging from AOT (ahead-of-time) compilation and source generation to JSON serialization and garbage collection enhancements.
Specific improvements in .NET 8 include:
- Better
System.Text.Json
serialization and deserialization, with built-in support for more types, new API methods, and other improvements. - Garbage collection adds a capability to adjust the memory limit on the fly. This is viewed as particularly useful in cloud scenarios, where demand fluctuates.
- A source generator is being introduced to offer AOT (ahead-of-time) compilation and trim-friendly configuration in ASP.NET Core. This generator is an alternative to the existing reflection-based implementation.
- New types to improve app performance including a
Text.CompositeFormat
type to optimize format strings not known at compile time. - For reflection, a
System.Type
object provides access to function pointer metadata including calling conventions, return type, and parameters. This functionality currently only is implemented in the CoreCLR runtime andMetadataLoadContext
. - Additional SIMD support is offered, introducing
Vector512<T>
and support for Intel Advanced Vector Extensions 512 (AVX-512). - For cryptography, .NET 8 adds support for the SHA-3 hashing primitives.
- HTTP client now supports HTTPS proxy, providing an encrypted channel between the client and proxy, to handle requests with privacy.
- New overloads of
CreateFromDirectory
enable collection of files included in a directory and zipping them. These then can store the resulting zip file into the provided stream. - Native AOT support for iOS-like platforms is introduced in a preliminary fashion.
- A
ValidateOptionsResultBuilder
type is being introduced to facilitate the creation of aValidateOptionsResult
. This builder allows for the accumulation of multiple errors. - Changes have been made to .NET container images, such as introduction of a pattern to mix and match architectures with .NET images. Also, performance has been improved for pushing containers to remote registries, particularly Azure registries.
- A new source generator that supports interoperating with COM interfaces.
- For Android apps, the
<AndroidStripILAfterAOT>
property lets you opt into further AOT compilation for Android apps to decrease app size.
Copyright © 2023 IDG Communications, Inc.