# \[ruby-talk:444164\] \[ANN\] JRuby 9.4.2.0 Released

**URL:** <https://rubytalk.org/t/ruby-talk-444164-ann-jruby-9-4-2-0-released/76175>\
**Category:** ruby-talk\
**Created:** [8 March 2023 19:33 UTC](https://rubytalk.org/t/ruby-talk-444164-ann-jruby-9-4-2-0-released/76175 "2023-03-08T19:33:35Z")\
**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:** [8 March 2023 19:33 UTC](https://rubytalk.org/t/ruby-talk-444164-ann-jruby-9-4-2-0-released/76175/1 "2023-03-08T19:33:35Z")

</div>

The JRuby community is pleased to announce the release of JRuby 9.4.2.0.

&nbsp;&nbsp;- Homepage: [https://www.jruby.org/](https://www.jruby.org/)  
&nbsp;&nbsp;- Download: [Downloads — JRuby.org](https://www.jruby.org/download)

JRuby 9.4.x targets Ruby 3.1 compatibility.

Thank you to our contributors this release, you help keep JRuby moving  
forward! @k77ch7, @andsel  
Ruby Compatibility

&nbsp;&nbsp;- \_\_callee\_\_ now properly returns the name under which a method was  
called, which will be the new name in the case of aliased methods. #2305,  
#7702  
&nbsp;&nbsp;- More use cases for keyword arguments have been fixed to behave  
correctly and avoid extraneous warnings. #7637, #7645, #7657, #7658, #7670,  
#7672, #7686  
&nbsp;&nbsp;- Array#pack now supports more cases, passing nearly all specs. #7663  
&nbsp;&nbsp;- Compatibility with CRuby’s command-line arguments has been improved.  
#7678, #7680, #7681, #7681, #7683, #7684

Standard Library

&nbsp;&nbsp;- irb is updated to 1.4.2. #7690, #7691  
&nbsp;&nbsp;- open-uri is updated to 0.3.0. #7701  
&nbsp;&nbsp;- io-wait is updated to 0.3.0. #7701  
&nbsp;&nbsp;- stringio is updated to 3.0.5. #7701  
&nbsp;&nbsp;- strscan is updated to 3.0.6. #7701  
&nbsp;&nbsp;- open3 is switched to using the gem at 0.1.2. #7701

Platform Support

&nbsp;&nbsp;- Exception backtraces now default to color output when the controlling  
terminal is a TTY. Disable using -Xbacktrace.color=false or equivalent in  
.jrubyrc. #7693

Performance

&nbsp;&nbsp;- String#split has been optimized to skip regular expression use for  
simple split expressions. Simple ASCII strings also split faster. #7629

54 Github Issues resolved for 9.4.2.0

&nbsp;&nbsp;&nbsp;&nbsp;#2305 - \_\_callee\_\_ behaves differently from MRI  
&nbsp;&nbsp;&nbsp;&nbsp;#7477 - Integer#chr(encoding: Encoding::UTF\_8) raises a different  
RangeError exception message than on CRuby  
&nbsp;&nbsp;&nbsp;&nbsp;#7480 - Cannot call SubClass#initialize\_copy with an object created  
from the super class  
&nbsp;&nbsp;&nbsp;&nbsp;#7615 - opt != for fixnum in JIT/indy  
&nbsp;&nbsp;&nbsp;&nbsp;#7629 - Split opts  
&nbsp;&nbsp;&nbsp;&nbsp;#7637 - 9.4.1.0: Wrong number of arguments with kwargs when subclassing  
a java class  
&nbsp;&nbsp;&nbsp;&nbsp;#7639 - Typing @ into irb in 9.4.1.0 crashes it  
&nbsp;&nbsp;&nbsp;&nbsp;#7641 - “Port already in use” errors when configuring remote JMX in 9.4  
&nbsp;&nbsp;&nbsp;&nbsp;#7642 - [9.4.1.0] ArrayIndexOutOfBoundsException  
&nbsp;&nbsp;&nbsp;&nbsp;#7643 - Use SmartBinder to set up struct calls  
&nbsp;&nbsp;&nbsp;&nbsp;#7645 - Fixes #7637. Arity error with kwargs when subclassing a java  
class  
&nbsp;&nbsp;&nbsp;&nbsp;#7650 - BigDecimal arithmetic regression [jruby-9.4]  
&nbsp;&nbsp;&nbsp;&nbsp;#7652 - Fix Float#to\_d of bigdecimal/util  
&nbsp;&nbsp;&nbsp;&nbsp;#7653 - Fix Struct#values\_at when passed an integer Range argument for  
edge cases  
&nbsp;&nbsp;&nbsp;&nbsp;#7655 - JIT coverage fixes  
&nbsp;&nbsp;&nbsp;&nbsp;#7656 - Regression: Class variables in top level methods broken  
compared to MRI & 9.3  
&nbsp;&nbsp;&nbsp;&nbsp;#7657 - Pattern matching unexpectedly raises “duplicated key name” error  
&nbsp;&nbsp;&nbsp;&nbsp;#7658 - remove deplicated key name error  
&nbsp;&nbsp;&nbsp;&nbsp;#7659 - Fix for #7656.  
&nbsp;&nbsp;&nbsp;&nbsp;#7662 - END blocks had regressed and was calling same block \>1  
&nbsp;&nbsp;&nbsp;&nbsp;#7663 - Array#pack unknown directive warns  
&nbsp;&nbsp;&nbsp;&nbsp;#7664 - All these work?  
&nbsp;&nbsp;&nbsp;&nbsp;#7665 - Arity errors for ‘call’ things in Signal#trap  
&nbsp;&nbsp;&nbsp;&nbsp;#7666 - Array#new size boundary error not tripping  
&nbsp;&nbsp;&nbsp;&nbsp;#7667 - Kernel#respond\_to? return wrong error string but right error.  
&nbsp;&nbsp;&nbsp;&nbsp;#7668 - Array#to\_s/inspect should be same method  
&nbsp;&nbsp;&nbsp;&nbsp;#7669 - Proc#inspect with &:foo should print that out in str  
&nbsp;&nbsp;&nbsp;&nbsp;#7670 - Probably method\_missing is not handling keyword arguments  
properly [jruby-9.4.1.0]  
&nbsp;&nbsp;&nbsp;&nbsp;#7671 - Binding local\_variables makes sure they are lvars  
&nbsp;&nbsp;&nbsp;&nbsp;#7672 - jruby-9.4.1.0 issues warning about duplicated keys  
&nbsp;&nbsp;&nbsp;&nbsp;#7674 - Fix #7672. warning about duplicated keys  
&nbsp;&nbsp;&nbsp;&nbsp;#7675 - JIT loses line numbers in some warnings?  
&nbsp;&nbsp;&nbsp;&nbsp;#7678 - Add –encoding command line option.  
&nbsp;&nbsp;&nbsp;&nbsp;#7679 - Spec sweep  
&nbsp;&nbsp;&nbsp;&nbsp;#7680 - disabling RUBYOPT processing was not hooked up.  
&nbsp;&nbsp;&nbsp;&nbsp;#7681 - Frozen string debugging off by one.  
&nbsp;&nbsp;&nbsp;&nbsp;#7682 - The -p command line should use print and not puts.  
&nbsp;&nbsp;&nbsp;&nbsp;#7683 - All -I provided relative paths shold be made absolute  
&nbsp;&nbsp;&nbsp;&nbsp;#7684 - Fixed windowsJ encoding and do not set on invalid K values  
&nbsp;&nbsp;&nbsp;&nbsp;#7685 - Add a warn form that takes a callback  
&nbsp;&nbsp;&nbsp;&nbsp;#7686 - Fix #7670. Coverage data goes off the rails.  
&nbsp;&nbsp;&nbsp;&nbsp;#7687 - Passing specs  
&nbsp;&nbsp;&nbsp;&nbsp;#7690 - Update irb to version 1.4.2+  
&nbsp;&nbsp;&nbsp;&nbsp;#7691 - Updates irb to 1.4.2  
&nbsp;&nbsp;&nbsp;&nbsp;#7693 - Enable color if console is a tty  
&nbsp;&nbsp;&nbsp;&nbsp;#7694 - Mimic CRuby’s range error logic for chr  
&nbsp;&nbsp;&nbsp;&nbsp;#7696 - Make coderange set on strings created from some IO ops  
&nbsp;&nbsp;&nbsp;&nbsp;#7700 - Define real error methods to avoid callee  
&nbsp;&nbsp;&nbsp;&nbsp;#7701 - Update gems  
&nbsp;&nbsp;&nbsp;&nbsp;#7702 - Encode new and old name in aliased calls  
&nbsp;&nbsp;&nbsp;&nbsp;#7708 - Enumerator.new takes at most one arg  
&nbsp;&nbsp;&nbsp;&nbsp;#7709 - Eliminate 2- and 3-arity paths for Enumerator#initialize  
&nbsp;&nbsp;&nbsp;&nbsp;#7715 - We were quoting symbols in inspect we shouldnt have  
&nbsp;&nbsp;&nbsp;&nbsp;#7716 - Add infra to support Ruby 3.1 pattern error messages.

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