The .NET 8 release is now available, targeting Red Hat Enterprise Linux (RHEL) 8.7, RHEL 9.1, and Red Hat OpenShift. Here's a quick overview of what developers need to know about this new major release.
New features in .NET 8
This release ships with the following features:
- The SDK supports using the latest C# (C# 12) and F# (F# 8) versions.
- The SDK now includes source link—which enables the debugger to find back the source code of the binaries used from the version control repositories—and it has built-in support for building container images directly from .NET projects.
- The base library, GC, and JIT have seen many performance improvements. Additionally, the libraries have better support for use with trimming and native AOT through source generators.
- .NET 8 comes with many API additions that improve performance, like the new
FrozenSettypes optimized for “write once, read many'' scenarios, and the new
IUtf8SpanFormattableinterface that enables directly writing out a UTF-8 string representation for an object. .NET 8 also brings many enhancements to its JSON support.
- ASP.NET Core 8 enables server-side rendering of Blazor components. It improves the built-in identity authentication and authorization support. Also, minimal API and gRPC applications can now be built with native AOT.
How to install .NET 8
You can install .NET 8 on RHEL with the usual command:
# dnf install dotnet-sdk-8.0
The .NET 8 SDK and runtime container images are available from the Red Hat Container Registry. You can use the container images as standalone images and with OpenShift on all supported architectures:
$ podman run --rm registry.redhat.io/ubi8/dotnet-80 dotnet --version 8.0.100
Long-term support for .NET 8
.NET 8 is a long-term support release. It will be supported for 3 years, until November 2026.
The existing .NET 7 short-term support release is supported until May 2024, and the previous .NET 6 long-term support is supported until June 2024 (RHEL 7) and November 2024 (RHEL 8 and 9). Additional support life cycle details are available on the .NET Life Cycle page.