JRuby Released

Thursday, May 19 2016

The JRuby community is pleased to announce the release of JRuby

JRuby 9000 is the newest major version of JRuby, representing years of effort and large-scale reboots of several JRuby subsystems. It is expected to be compatible with Ruby 2.x and stay in sync with C Ruby. JRuby is our latest releaseā€¦

Major features of JRuby 9000:

  • Ruby 2.x compatibility
  • A new optimizing runtime based on a traditional compiler design
  • New POSIX-friendly IO and Process
  • Fully ported encoding/transcoding logic from MRI

If you do find issues then report them on using our issue tracker at https://github.com/jruby/jruby/issues. We also encourage users to join our IRC channel (#jruby on Freenode) and mailing lists. You may also follow @jruby on Twitter for updates.

Notable updates since

  • 18 issues fixed for


JRuby 9000 includes an preliminary version of support for the Truffle language implementation framework and Graal JIT compiler from Oracle Labs. In future releases, Truffle will provide an extremely high performance and compatible backend for JRuby. The Truffle backend supports almost all Ruby language features and the majority of the core library, and is able to run simple gems and web frameworks such as Sinatra. It has no support for RubyGems, Rails or any database drivers, and does not work on Windows. However we are now interested in people submitting issues for small gems with minimal dependencies who see issues running on JRuby+Truffle

Graal has been integrated into Java 9 early access builds, and can be used today as part of the GraalVM, which is currently the recommended way to run JRuby+Truffle.

More information on Truffle and Graal can be found in the JRuby Wiki.

Github Issues resolved for

  • #3884 - Invalid hash value for nested arrays
  • #3882 - Refactor transcodeLoop into ruby and non-ruby parts.
  • #3879 - fix quoted paths
  • #3878 - Can't run rails if jruby's path contains whitespaces
  • #3877 - File.basename should support windows1250
  • #3874 - Ensure native methods called by indy get frame if requested.
  • #3873 - Test define method visibility
  • #3872 - Limit padding width for strftime.
  • #3871 - Encoding.find("filesystem") on windows
  • #3866 - expand_path should use the original encoding
  • #3865 - Several named capture warnings in date/format
  • #3863 - net-ldap#bind fails in jruby- (but works in jruby-
  • #3858 - [Truffle] remove_const doesn't completely clear a module's name
  • #3856 - [jRuby] Strange behavior with Enumerable::max method
  • #3855 - JRuby on Windows causes frozen string errors when using rake and minitest
  • #3854 - JRuby define_method creates private methods in some cases where it should create public methods
  • #3849 - File.expand_path doesn't respect args encoding
  • #3842 - Indy call sites are not setting up frame for core methods