Twice a year, Red Hat distributes new versions of compiler toolsets, scripting languages, open source databases, and/or web tools, etc. so that application developers will have access to the latest, stable versions. These Red Hat supported offerings are packaged as Red Hat Software Collections (scripting languages, open source databases, web tools, etc.), Red Hat Developer Toolset (GCC), and the recently added compiler toolsets Clang/LLVM, Go, and Rust. All are yum installable, and are included in most Red Hat Enterprise Linux subscriptions and all Red Hat Enterprise Linux Developer Subscriptions. Most Red Hat Software Collections and Red Hat Developer Toolset components are also available as Linux container images for hybrid cloud development across Red Hat Enterprise Linux, Red Hat OpenShift Container Platform, etc.
Red Hat Software Collections 3.1 beta brings the following new/updated scripting languages:
New addition: Ruby 2.5
Ruby 2.5.0 is the first stable release of the Ruby 2.5 series. It introduces many new features and performance improvements. The notable changes are as follows:
- Rescue/else/ensure are now allowed to be used directly with do/end blocks.
- Add yield_self to yield given block in its context. Unlike tap, it returns the result of the block.
- Support branch coverage and method coverage measurement. The branch coverage indicates which branches are executed and which are not. The method coverage indicates which methods are invoked and which are not. By running a test suite with these new features, you will know which branches and methods are executed, and evaluate total coverage of the test suite more strictly.
- Hash#slice and Hash#transform_keys.
- Struct.new can create classes that accept keyword arguments.
- Enumerable#any?, all?, none?, and one? accept a pattern argument.
- Top-level constant look-up is no longer available.
- One of our most loved libraries, pp.rb, is now automatically loaded. You no longer have to write require "pp".
- Print backtrace and error message in reverse order (oldest call first, most recent call last). When a long backtrace appears on your terminal (TTY), you can easily find the cause line at the bottom of the backtrace. Note that the order is reversed only when the backtrace is printed out to the terminal directly. [experimental]
What versions are available and where?
- RHSCL contains Ruby 1.9.3, Ruby 2.0, Ruby 2.2, Ruby 2.3, and Ruby 2.4
- RHEL 6 has Ruby 1.8.7
- RHEL 7 includes Ruby 2.0
Ruby 2.5 is for RHEL 7 only.
Package name: rh-ruby25
Linux container image: rhscl-beta/ruby-25-rhel7
New addition: Perl 5.26
The Perl 5.26 release has significant performance increases over previous versions. Performance changes include improvements in hashing, readline, optimized array and hash assignment, conversion of a single digit string to a number, split, and reference assignment. This release also includes an update to Perl’s fantastic Unicode support with the addition of Unicode 9.0. This is a fairly minor update with some new character sets and 72 new emoji characters.
What versions are available and where?
- RHEL 6 includes Perl 5.10
- RHEL7 includes Perl 5.16
- RHSCL contains Perl 5.16, 5.20, 5.24, and now 5.26
Per 5.26 is for RHEL 7 only.
Package name: rh-perl526
Linux container image: rhscl-beta/perl-526-rhel7
Updated version: PHP 7.0.27
PHP 7.0 was a significant new release of PHP. PHP 7.1 now brings with it a number of useful features, ranging from short array destructuring, to negative string offsets, to improved return types.
What versions are available and where?
RHEL 6 has PHP 5.3
RHEL7 has PHP 5.4
RHSCL has PHP 5.6, 7.0, 7.1
PHP 7.0.27 is for RHEL 6 & 7; x86_64.
Package name: rh-php70
Linux container image: rhscl-beta/php-70-rhel7
REFERENCES:
- See the Hello World for quick installation of Software Collections.
- RHSCL 3.1 beta Release Notes
- RHSCL 3.1 beta Using Container Images
- Red Hat Container Catalog