What’s new in Red Hat Enterprise Linux 9
Red Hat Enterprise Linux (RHEL) 9 is now generally available (GA). This release is designed to meet the needs of the hybrid cloud environment, and is ready for you to develop and deploy from the edge to the cloud. It can run your code efficiently whether deployed on physical infrastructure, in a virtual machine, or in containers built from Red Hat Universal Base Images (UBIs).
RHEL 9 can be downloaded for free as part of the Red Hat Developer program subscription. In this article, you’ll learn some of the ways that RHEL 9 can improve the developer experience.
Get access to the latest language runtimes and tools
- Red Hat Enterprise Linux 9 is built with a number of the latest runtimes and compilers, including GCC 11.2.1 and updated versions of LLVM (13.0.1), Rust (1.58.1), and Go (1.17.1), enabling developers to modernize their applications.
- RHEL 9 ships with updated versions of core developer toolchains such as GCC (11.2.1), glibc (2.34), and binutils (2.35). The new features in the GCC compiler help users better track code flow, improve debugging options, and write optimized code for efficient hardware usage. The new GCC compiler comes with modifications for C and C++ code compilation, along with new debugging messages for logs. That gives developers a better handle on how their code performs.
- With next-generation application streams, developers will have more choices when it comes to versions of popular languages and tools. Red Hat Enterprise Linux 9 improves the application streams experience by providing initial application stream versions that can be installed as RPM packages using the traditional
yum
install command. Developers can select from multiple versions of user-space components as application streams that are easy to update, providing greater flexibility to customize RHEL for their development environment. Application stream contents also include tools and applications that move very fast and are updated frequently. These application streams, called rolling streams, are fully supported for the full life of RHEL 9. - Red Hat Enterprise Linux 9 extends RHEL 8’s module packaging features. With RHEL 9, all packaging methods, such as Red Hat Software Collections, Flatpaks, and traditional RPMs, have been incorporated into application streams, making it easier for developers to use their preferred packages.
Support for newer versions of language runtimes
- Python 3.9 gets lifetime support in Red Hat Enterprise Linux 9 and comes with a host of new features, including timezone-aware timestamps, new string prefix and suffix methods, dictionary union operations, high-performance parsers, multiprocessing improvements, and more. These features will help developers modernize their applications easily.
- Node.js 16 provides changes that include an upgrade to the V8 engine to version 9.2, a new Timer Promises API, a new experimental web streams API, and support for npm package manager version 7.20.3. Node.js is now compatible with OpenSSL 3.0.
- Ruby 3.0.3 provides several performance improvements, along with bug and security fixes. Some of the important improvements include concurrency and parallelism, static analysis, pattern matching with
case
/in
expressions, redesigned one-line pattern matching, and find pattern matching. - Perl 5.32 provides a number of bug fixes and enhancements, including Unicode version 13, a new experimental infix operator, faster feature checks, and more.
- PHP 8.0 provides several bug fixes and enhancements, such as the use of structured metadata syntax, newly named arguments that are order-independent, improved performance for Just-In-Time compilation, and more.
Build Red Hat Enterprise Linux images for development and testing
Image builder is a tool that allows users to create custom RHEL system images in a variety of formats for major and minor releases. These images are compatible with major cloud providers and virtualization technologies popular in the market. This enables users to quickly spin up customized RHEL development environments on local, on-premise, or cloud platforms.
With image builder, custom filesystem configurations can be specified in blueprints to create images with a specific disk layout, instead of using the default layout configuration.
Image builder can be used to create bootable ISO installer images. These images consist of a tarball that contains a root filesystem that you can use to install directly to a bare metal server, which is ideal for bringing up test hardware for edge developments.
Monitor and maintain Red Hat Enterprise Linux environments
The Red Hat Enterprise Linux 9 web console has an enhanced performance metrics page that helps identify potential causes of high CPU, memory, disk, and network resource usage spikes. In addition, subsystem metrics can be easily exported to a Grafana server.
RHEL 9 also now supports kernel live patching via the web console. The latest critical kernel security patches and updates can be applied immediately without any need for scheduled downtime, and without disrupting ongoing development or production applications.
Build containers with Universal Base Images
Red Hat Enterprise Linux 9 ships with control groups (cgroup) and a recent release of Podman with improved defaults. Signature and container short-name validation are enabled by default and containerized applications can be tested on the out-of-the-box RHEL 9 configuration.
The RHEL 9 UBI is available in standard, micro, minimal or init image configurations, which range in size from as small as 7.5MB up to 80MB. Learn more about how to build, run, and manage containers.
Identity and security
- With Red Hat Enterprise Linux 9, root user authentication with a password over SSH has been disabled by default. The OpenSSH default configuration disallows root user login with a password, thereby preventing attackers from gaining access through brute-force password attacks. Instead of using the root password, developers can access remote development environments using SSH keys to log in.
- OpenSSL 3.0 adds a provider concept, a new versioning scheme, and an improved HTTPS. Providers are collections of algorithm implementations. Developers can programmatically invoke any providers based on application requirements. Built-in RHEL utilities have been recompiled to utilize OpenSSL 3. This allows users to take advantage of new security ciphers for encrypting and protecting information.