Topic navigation

Blog Articles

Support Lifecycle for Clang/LLVM, Go, and Rust

On the heels of our recently announcement, General Availability of Clang/LLVM 6.0, Go 1.10, and Rust 1.29, I want to share how we’ll be supporting them going forward. Previously, these packages had been in “Technology Preview” status, which means that they were provided for “you to test functionality and provide feedback during the development process”, and were “not fully supported under Red Hat Subscription Level Agreements, may not be functionally complete, and are not intended for production use”.

So now that we’ve promoted them to fully supported status, what does that mean? In the simplest terms, General Availability (GA) means that these packages have officially entered the “Full Support Phase” of their lifecycle:

During the Full Support Phase, qualified Critical and Important Security errata advisories (RHSAs) and Urgent and Selected High Priority Bug Fix errata advisories (RHBAs) may be released as they become available. Other errata advisories may be delivered as appropriate.

If available, new or improved hardware enablement and select enhanced software functionality may be provided at the discretion of Red Hat, generally in minor releases. Hardware enablement that does not require substantial software changes may be provided independent from minor releases at Red Hat’s discretion.

Minor releases will also include available and qualified errata advisories (RHSAs, RHBAs, and RHEAs). Minor releases are cumulative and include the contents of previously released updates. The focus for minor releases during this phase lies on resolving defects of medium or higher priority.

Updated installation images will be provided for minor releases during the Full Support Phase.

Since these packages are fast evolving, we will be supporting them on a condensed lifecycle with an update cadence that makes sense for the specific package. For Rust, this means that there will be updates every quarter (approximately every 3 months) and for LLVM and Go, this will mean updates every 6 months.

Since these packages are so quick moving, the support for them will be slightly different than what we “typically” do – which is to move slowly and support specific versions of a package for a long time. In the case of LLVM, Rust, and Go Toolsets, we will be maintaining the most recently released build only. In the event that a bug or vulnerability is discovered in an older build, the path to remedy will be to update to the most recent build of that toolset. If a bug is discovered in the current build, we will work to address it in the next scheduled build. That will by default be the next scheduled minor release (Application Stream in the case of Red Hat Enterprise Linux 8).