Microsoft .NET 8 nears the finish line

Microsoft unveiled the second and final release candidate for the next version of its development platform. The production release is due in November.

man running across finish line
Thinkstock

.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 and MetadataLoadContext.
  • 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 a ValidateOptionsResult. 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.