Release Notes for .NET 9.0 RPM packages
Abstract
Providing feedback on Red Hat documentation
We appreciate your feedback on our documentation. Let us know how we can improve it.
Submitting feedback through Jira (account required)
- Log in to the Jira website.
- Click Create in the top navigation bar
- Enter a descriptive title in the Summary field.
- Enter your suggestion for improvement in the Description field. Include links to the relevant parts of the documentation.
- Click Create at the bottom of the dialogue.
Chapter 1. Availability
Red Hat provides a distribution of .NET that enables developers to create applications using the C#, Visual Basic, and F# languages and then deploy them on Red Hat Enterprise Linux (RHEL), Red Hat OpenShift Container Platform, or other platforms. A no-cost Red Hat Enterprise Linux Developer Subscription is available, including a full suite of tools for container development.
- For RHEL 8.10, RHEL 9.5, and later, .NET 9.0 is available as the following RPMs in the AppStream repositories: Note- The AppStream repositories are enabled by default in RHEL 8 and RHEL 9. - 
							dotnet-sdk-9.0: Includes the .NET 9.0 Software Development Kit (SDK) and all the runtimes.
- 
							dotnet-sdk-aot-9.0:Includes the Ahead-of-Time(AOT) support for the .NET 9.0 SDK. Install this if you want to AOT-compile your .NET applications.
- 
							aspnetcore-runtime-9.0: Includes the .NET runtime and the ASP.NET Core runtime. Install this package to run ASP.NET Core-based applications.
- 
							dotnet-runtime-9.0: Includes only the .NET 9.0 runtime. Install this to use the runtime without the SDK.
 
- 
							
- 
					.NET 9.0 is available for aarch64,ppc64le,s390x, andx86_64architectures on RHEL 8, RHEL 9, RHEL 10 and OpenShift Container Platform.
Full instructions for installing .NET 9.0 on RHEL are available in the Getting started with .NET on RHEL 8, Getting started with .NET on RHEL 9 guides.
Chapter 2. Overview
.NET is a general purpose, modular, cross-platform, and open source implementation of .NET that features automatic memory management and modern programming languages. It allows users to build high-quality applications efficiently.
.NET 9.0 is available on RHEL 8.10, RHEL 9.5, and later.
.NET 9.0 is a Short Term Support (STS) release. STS releases releases reach End of Support after around 1.5 years. For more information, see the Life Cycle and Support Policies for the .NET Program.
.NET offers:
- The ability to follow a microservices-based approach, where some components are built with .NET and others with Java or JavaScript, but all can run on a common, supported platform in RHEL.
- The capacity to more easily develop new .NET workloads on Microsoft Windows. You can deploy and run on either RHEL or Windows Server.
- A heterogeneous data center, where the underlying infrastructure is capable of running .NET applications without having to rely solely on Windows Server.
Chapter 3. Features and benefits
3.1. Current features and benefits
.NET 9.0 offers the following features and benefits.
- Runtime and framework libraries - .NET consists of the framework libraries as well as compilers, build tools, tools to fetch NuGet packages, and a command-line interface to tie everything together. - Benefits include: - Automatic memory management
- Type safety
- Delegates and lambdas
- Generic types
- Language Integrated Query (LINQ)
- Async programming
- Native interoperability
- Source generators
 
- .NET 9.0 supports developing applications using - ASP.NETCore 9.0 and EF Core 9.0, which bring benefits such as:- Lightweight and modular HTTP request pipeline
- Ability to host on a web server or self-host in your own process
- Built on .NET, which supports true side-by-side app versioning
- Integrated support for creating and using NuGet packages
- Single aligned web stack for web UI and web APIs
- Cloud-ready environment-based configuration
- Built-in support for dependency injection
- Tools that simplify modern web development
 
3.2. New features and benefits
.NET 9.0 continues to broaden its support and tools for application development in an open source environment. The latest version of .NET includes the following improvements:
- The SDK supports using the latest C# (C# 13) and F# (F# 9) versions.
- The SDK now uses the new terminal logger by default which improves theusability of the .NET 9.0 command-line interface.
- The base library, GC, and JIT have seen many performance improvements. The GC now defaults to the dynamic adaption to application sizes (DATAS) mode which resizes the heap based on the active workload.
- .NET 9.0 comes with many API additions that improve performance, like overloads using the new C# 13 params Span and allow C# 13 generic ref struct parameters to eliminate allocations..NET 9.0 also includes many enhancements to its JSON support. For interop and efficient operations on AI data, .NET 9.0 provides a new Tensor<T> type.
- ASP.NET Core 9.0 comes with built-in support for OpenAPI document generation. Additionally, the new MapStaticAssets middleware provides optimized support for delivering static assets.
Chapter 4. Supported operating systems and architectures
.NET 9.0 is available for OpenShift Container Platform, Red Hat Enterprise Linux 8.10 and later, Red Hat Enterprise Linux 9.5 and later and Red Hat Enterprise Linux 10.0 and later
			.NET 9.0 is available on the x64_64 (64-bit Intel/AMD), aarch64 (64-bit ARM), ppc64le (64-bit IBM Power), and s390x (64-bit IBM Z) architectures.
		
.NET 9.0 is available for Red Hat Enterprise Linux 8 and later
| Platform | Architecture | RPM | Repository | 
|---|---|---|---|
| Red Hat Enterprise Linux 8 | 
							AMD64 and Intel 64 ( 
							IBM Z and LinuxONE ( 
							64-bit ARM ( 
							IBM Power ( | dotnet-sdk-9.0 | Appstream NOTE: The AppStream repositories are enabled by default in Red Hat Enterprise Linux 8. | 
| Red Hat Enterprise Linux 9 | 
							AMD64 and Intel 64 ( 
							IBM Z and LinuxONE ( 
							64-bit Arm ( 
							IBM Power ( | dotnet-sdk-9.0 | Appstream | 
| Red Hat Enterprise Linux 10 | 
							AMD64 and Intel 64 ( 
							IBM Z and LinuxONE ( 
							64-bit ARM ( 
							IBM Power ( | dotnet-sdk-9.0 | |
| OpenShift Container Platform 4 | 
							AMD64 and Intel 64 ( 
							64-bit ARM ( 
							IBM Power ( 
							IBM Z and LinuxONE ( | 
Chapter 5. Customer privacy
Various Microsoft products have a feature that reports usage statistics, analytics, and various other metrics to Microsoft over the network. Microsoft calls this Telemetry. Red Hat is disabling telemetry because we do not recommend sending customer data to anyone without explicit permission.
Chapter 6. Support
Red Hat and Microsoft are committed to providing excellent support for .NET and are working together to resolve any problems that occur on Red Hat supported platforms. At a high level, Red Hat supports the installation, configuration, and running of the .NET component in Red Hat Enterprise Linux (RHEL). Red Hat can also provide "commercially reasonable" support for issues we can help with, for example, NuGet access problems, permissions issues, firewalls, and application questions. If the issue is a defect or vulnerability in .NET, we actively work with Microsoft to resolve it.
.NET 9.0 is supported on RHEL 8.10, RHEL 9.5, RHEL 10.0, and Red Hat OpenShift Container Platform versions 4.0 and later.
See .NET Core Life Cycle for information about the .NET support policy
6.1. Contact options
There are a couple of ways you can get support, depending on how you are using .NET.
- If you are using .NET on-premises, you can contact either Red Hat Support or Microsoft directly.
- If you are using .NET in Microsoft Azure, you can contact either Red Hat Support or Azure Support to receive Integrated Support.
Integrated Support is a collaborative support agreement between Red Hat and Microsoft. Customers using Red Hat products in Microsoft Azure are mutual customers, so both companies are united to provide the best troubleshooting and support experience possible.
- If you are using .NET on IBM Z, IBM LinuxONE, or IBM Power, you can contact Red Hat Support. If the Red Hat Support Engineer assigned to your case needs assistance from IBM, the Red Hat Support Engineer will collaborate with IBM directly without any action required from you.
6.2. Frequently asked questions
Here are four of the most common support questions for Integrated Support.
- When do I access Integrated Support? - You can engage Red Hat Support directly. If the Red Hat Support Engineer assigned to your case needs assistance from Microsoft, the Red Hat Support Engineer will collaborate with Microsoft directly without any action required from you. Likewise on the Microsoft side, they have a process for directly collaborating with Red Hat Support Engineers. 
- What happens after I file a support case? - Once the Red Hat support case has been created, a Red Hat Support Engineer will be assigned to the case and begin collaborating on the issue with you and your Microsoft Support Engineer. You should expect a response to the issue based on Red Hat’s Production Support Terms of Service. 
- What if I need further assistance? - Contact Red Hat Support for assistance in creating your case or with any questions related to this process. You can view any of your open cases here. 
- How do I engage Microsoft for support for an Azure platform issue? - If you have support from Microsoft, you can open a case using whatever process you typically would follow. If you do not have support with Microsoft, you can always get support from Microsoft Support. 
6.3. Additional support resources
The Resources page at Red Hat Developers provides a wealth of information, including:
- Getting started documents
- Knowledgebase articles and solutions
- Blog posts
.NET documentation is hosted on a Microsoft website. Here are some additional topics to explore:
You can also see more support policy information at Red Hat and Microsoft Azure Certified Cloud & Service Provider Support Policies.
Chapter 7. Known issues
The known issues for running .NET on Red Hat Enterprise Linux (RHEL) include the following:
- There are no NuGet packages for - ppc64leand- s390xon nuget.org.- Using the - rhel.8-s390x,- linux-s390x,- rhel.8-ppc64le, or- linux-ppc64leruntime identifier can cause some- dotnetcommands to fail when they try to obtain these packages. These commands are either not fully supported on- ppc64leand- s390xas described in the other known issues, or the issue can be fixed by not specifying the runtime identifier.
- 
					Single file applications are not supported on ppc64leors390x.
- 
					PublishReadyToRun/crossgen is not supported on ppc64leors390x.
- 
					NativeAOT is not supported on ppc64leors390x
- 
					OmniSharp, the language server used by IDEs like Visual Studio Code, is not available on ppc64leands390x.
- Several workloads can not be installed in the .NET 9.0 shipped by Red Hat: - 
							android
- 
							macos
- 
							maui-android
- 
							maui-tizen
- 
							maui-windows
 
-