Red Hat Enterprise Linux 9 Beta is here

We’ve been working hard on Red Hat Enterprise Linux 9. Red Hat Enterprise Linux 9 Beta is now available—and it’s been built with production stability and development agility in mind. Built from CentOS Stream, Red Hat Enterprise Linux 9 Beta delivers an easier application development experience based on a new platform with powerful capabilities.

Here are five key highlights for developers:

  • Modernize your applications using the latest versions of GCC, Go, LLVM, and Rust compilers.
  • Get 10+ years of enterprise-class platform stability with version 2.34 of the GNU C Library project (glibc).
  • Power your Python applications using Python 3.9.
  • Access different software versions easily through enhanced application stream packaging options.
  • Benefit from open source ecosystem support, thanks to CentOS Stream.

Now, let’s dive into the details a bit more to explain what all of this means.

Compiler updates and new features

A new major version of an operating system brings new opportunities—especially when it comes to application modernization. Red Hat Enterprise Linux 9 includes GCC 11 as well as the latest versions of Go, LLVM, and Rust compilers, which lets you modernize your applications to benefit from the latest compiler optimizations and features.

GCC 11

Build powerful C/C++ applications for Red Hat Enterprise Linux 9 with the new GCC 11 system compiler. This release makes C++ 17 the default standard for the C++ language, instead of the previously supported C++ 14 standard. This version includes a more robust static analysis option (-fanalyzer), and a host of other new C++ 17 features.

However, the new C++ 17 language standard also deprecates, removes, or changes the semantics of certain constructs. Read Porting your code to C++17 with GCC 11 to learn more about how you can modernize your application to C++17 with GCC 11.

Link Time Optimization

Link Time Optimization (LTO) is enabled in Red Hat Enterprise Linux 9, and the system comes with a number of packages that are built with it. As a result, applications have smaller and faster binaries and allow deeper inspection of source code at compile time. This can improve GCC diagnostics for potential coding errors, such as One Definition Rule (ODR) violations.

Go 1.16, LLVM 12, and Rust 1.54

Go 1.16 brings support for the new embed package, enabling developers to bundle supporting data files into their Go programs and simplify developing with Go. With Go 1.16, modules are enabled by default making language dependencies easier to manage. Additionally, there are also several other improvements and performance optimizations.

With the latest LLVM 12 toolset, developers can take advantage of fresher tooling, and compatibility with other code built with compatible versions of LLVM/Clang.

Rust 1.54 lets developers write high-performance applications that run with a low memory footprint, making it highly suitable for edge use cases. Additionally, Rust is a statically typed language, making it easy to catch compile-time errors and maintain.

glibc 2.34

Red Hat Enterprise Linux 9 leverages GNU C Library Project (glibc) 2.34, enabling Red Hat Enterprise Linux to stay up to date with the latest security and bug fixes from glibc upstream. A few key benefits are improved performance, enhanced compliance with POSIX.1-2017, and additional locales.

Python 3.9

Python 3.9 is the system version of Python in Red Hat Enterprise Linux 9. This means that Python 3 is installed by default, and there are no Python 2 packages available. Python 3.9 brings several new features to help developers modernize their applications, including timezone-aware timestamps, the new string prefix and suffix methods, and dictionary union operations. Learn more about features in Python 3 and get helpful tips to port your code.

Next-generation application streams

Red Hat Enterprise Linux 8 introduced application streams to bring greater flexibility to developers exploring different versions of software. For example, we added updated applications and frameworks, like Node.js 10, 12, 14, and 16 and PostgreSQL 9.6, 10, 12, and 13. Different versions of the software are installable using different modules.

The 9.0 Beta release builds on the success of application streams and module packaging in Red Hat Enterprise Linux 8. All packaging methods are incorporated into application streams including modules, software collections (SCLs), Flatpaks, and traditional RPMs, making them much easier to use.

Built from CentOS Stream

Red Hat Enterprise Linux 9 is the first major release of Red Hat Enterprise Linux built from CentOS Stream. All future Red Hat Enterprise Linux releases will be built from it. This enables developers to contribute to and test the code prior to future versions being released.

Download Red Hat Enterprise Linux 9 Beta

The best way to experience Red Hat Enterprise Linux 9 Beta is by trying it out yourself. Red Hat Enterprise Linux 9 Beta is available to everyone participating in the Red Hat Developer program.

Here are a few ways you can get access to the Red Hat Enterprise Linux 9 Beta release:

Additional resources

In this article, we have only scratched the surface of what’s included in the Red Hat Enterprise Linux 9 Beta. This release brings several new features in automation and management, security and compliance, container improvements, performance, and more.