# \[ANN\] JRuby 9.0.3.0 Released

**URL:** <https://rubytalk.org/t/ann-jruby-9-0-3-0-released/73278>\
**Category:** ruby-talk\
**Created:** [21 October 2015 18:22 UTC](https://rubytalk.org/t/ann-jruby-9-0-3-0-released/73278 "2015-10-21T18:22:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Thomas\_E\_Enebo1](https://yyz1.discourse-cdn.com/flex029/user_avatar/rubytalk.org/thomas_e_enebo1/32/1861_2.png) [@Thomas\_E\_Enebo1](https://rubytalk.org/u/Thomas_E_Enebo1)\
**Post date:** [21 October 2015 18:22 UTC](https://rubytalk.org/t/ann-jruby-9-0-3-0-released/73278/1 "2015-10-21T18:22:03Z")

</div>

JRuby 9.0.3.0 Released  
Wednesday, October 21 2015

The JRuby community is pleased to announce the release of JRuby 9.0.3.0

&nbsp;&nbsp;&nbsp;&nbsp;Homepage: [http://www.jruby.org/](http://www.jruby.org/)  
&nbsp;&nbsp;&nbsp;&nbsp;Download: [http://www.jruby.org/download](http://www.jruby.org/download)

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.2.x and stay in sync with C Ruby. JRuby  
9.0.3.0 is our second of many point releases…

[NOTE: 9.0.2.0 was prematurely released to Maven with a serious issue so we  
had to skip putting out a 9.0.2.0 release (Maven does not allow replacing  
pushed artifacts). So 9.0.3.0 is our second official point release. We  
apologize for any confusion this may cause.]

Major features of JRuby 9000:

&nbsp;&nbsp;&nbsp;&nbsp;Ruby 2.2 compatibility  
&nbsp;&nbsp;&nbsp;&nbsp;A new optimizing runtime based on a traditional compiler design  
&nbsp;&nbsp;&nbsp;&nbsp;New POSIX-friendly IO and Process  
&nbsp;&nbsp;&nbsp;&nbsp;Fully ported encoding/transcoding logic from MRI

If you do find issues then report them on using our issue tracker at  
[http://bugs.jruby.org](http://bugs.jruby.org). 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 9.0.1.0

&nbsp;&nbsp;&nbsp;&nbsp;Pattern ‘foo rescue nil’ now can, at times, run 48x faster  
&nbsp;&nbsp;&nbsp;&nbsp;Blocks can independently JIT now improving perf in some scenarios  
&nbsp;&nbsp;&nbsp;&nbsp;define\_method with non-capturing body is now 2+x faster (~same speed as  
def)  
&nbsp;&nbsp;&nbsp;&nbsp;stat() on windows now supports long paths and UNC paths  
&nbsp;&nbsp;&nbsp;&nbsp;Handful of issues fixed makes Rails master run (sans AR-JDBC work  
outstanding)  
&nbsp;&nbsp;&nbsp;&nbsp;31 issues fixed for 9.0.3.0

Truffle

JRuby 9000 includes an preliminary version of support for the Truffle  
language implementation framework and Graal VM 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, does not work on Windows, and is not ready  
to be tested with applications at this stage. More information on Truffle  
and Graal can be found in the JRuby Wiki.  
Github Issues resolved for 9.0.3.0

&nbsp;&nbsp;&nbsp;&nbsp;#3397 - ArrayIndexOutOfBoundsException when utf8 string matched against  
regexp with with word boundary \b  
&nbsp;&nbsp;&nbsp;&nbsp;#3399 - Can't seek when file accessed using classpath: OR  
uri:classloader: schemes  
&nbsp;&nbsp;&nbsp;&nbsp;#3394 - JRuby thread stuck on IntHashMap.rehash  
&nbsp;&nbsp;&nbsp;&nbsp;#3380 - Bad value for $$  
&nbsp;&nbsp;&nbsp;&nbsp;#3378 - #to\_ary behavior does not conform to MRI Ruby (1.7.22)  
&nbsp;&nbsp;&nbsp;&nbsp;#3372 - FileUtils#remove\_tailing\_slash is a poor method name  
&nbsp;&nbsp;&nbsp;&nbsp;#3371 - splash params lose a nesting level \*only\* in #\_to\_proc  
&nbsp;&nbsp;&nbsp;&nbsp;#3368 - Jitted blocks do not scope evals properly  
&nbsp;&nbsp;&nbsp;&nbsp;#3365 - test/mri/psych//test\_yaml.rb fails with enable system assertions  
&nbsp;&nbsp;&nbsp;&nbsp;#3364 - Running Rails test with Jruby 9000  
&nbsp;&nbsp;&nbsp;&nbsp;#3362 - bar rescue nil should not fail if StandardError is removed  
&nbsp;&nbsp;&nbsp;&nbsp;#3356 - Inconsistence when modifying return object in ensure  
&nbsp;&nbsp;&nbsp;&nbsp;#3348 - CSV parsing performance is poor  
&nbsp;&nbsp;&nbsp;&nbsp;#3340 - JRuby NoMethodError: undefined method `open?' for  
#\<File:/dev/tty\>  
&nbsp;&nbsp;&nbsp;&nbsp;#3338 - JRuby 9.0.1.0 #to\_ary should return Array  
&nbsp;&nbsp;&nbsp;&nbsp;#3337 - support (seekable) ByteArrayInputStream#to\_io.rewind  
&nbsp;&nbsp;&nbsp;&nbsp;#3333 - handle non-public inner class retrieval  
&nbsp;&nbsp;&nbsp;&nbsp;#3330 - Fix java\_implements for multiple interfaces  
&nbsp;&nbsp;&nbsp;&nbsp;#3327 - Issue #3324  
&nbsp;&nbsp;&nbsp;&nbsp;#3324 - \_id2ref should raise RangeError rather than return nil for no  
object found  
&nbsp;&nbsp;&nbsp;&nbsp;#3319 - find-bugs 2  
&nbsp;&nbsp;&nbsp;&nbsp;#3317 - find-bugs 1  
&nbsp;&nbsp;&nbsp;&nbsp;#3300 - extension class does not get loaded  
&nbsp;&nbsp;&nbsp;&nbsp;#3292 - UTF-8 encoding on MS-Windows  
&nbsp;&nbsp;&nbsp;&nbsp;#3282 - UDPSocket Error inconsistent with MRI  
&nbsp;&nbsp;&nbsp;&nbsp;#3279 - non-intuitive overloaded varargs matching  
&nbsp;&nbsp;&nbsp;&nbsp;#3270 - Kernel#require cannot find compiled ruby classes in jruby  
9.0.0.0  
&nbsp;&nbsp;&nbsp;&nbsp;#3267 - Encoding issue in jruby 9.0.0.0  
&nbsp;&nbsp;&nbsp;&nbsp;#3257 - Initial $LOAD\_PATH depends on JRUBY\_HOME in  
jruby-complete-9.0.0.0  
&nbsp;&nbsp;&nbsp;&nbsp;#3215 - bin/jruby is not updated when bin/jruby.bash is  
&nbsp;&nbsp;&nbsp;&nbsp;#3137 - Hash#select! inconsistency with MRI when yielding only one  
argument

> **···**
>
> --  
> blog: [http://blog.enebo.com](http://blog.enebo.com) twitter: tom\_enebo  
> mail: [tom.enebo@gmail.com](mailto:tom.enebo@gmail.com)
