The complete version of this post is available on the JRuby blog.
(JRuby is an implementation of the Ruby programming language atop the Java virtual machine, bringing true parallelism, increased performance, and world-class GC to the Ruby world.)
JRuby 9000 is the ninth major release of JRuby. We opted to go with 9000 as a code name and 188.8.131.52 as a version number to separate it from Ruby's version numbers (1.8, 1.9, 2.0 etc).
JRuby 9000 represents years of work by dozens of contributors. It is the single largest JRuby release we've ever done.
- Compatibility is now up to Ruby 2.2 specification, a leap forward from JRuby 1.7's compatibility with Ruby 1.9.3. This includes all language and syntax features and many updates to core libraries.
- The execution runtime has been completely rewritten over the past five years, enabling anyone who has taken a college compilers course to contribute help improve JRuby performance.
- Several subsystems, like IO and process management, now use the same native functionality as the C-based version of Ruby. This greatly improves compatibility with standard POSIX and UNIX behavior.
- Although this first release is not intended to be significantly faster than JRuby 1.7, we've already received reports of improved performance. Upcoming releases will leverage our new compiler to increase performance further.
- Java 7 is now the minimum Java version.
JRuby 9000's final release comes after two previews and two release candidates. We expect it to be stable for all users and recommend upgrading, but we welcome bug reports. We will plan to do several maintenance releases over the coming months to address new issues.