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

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

  - Homepage: https://www.jruby.org/
  - Download: Downloads — JRuby.org

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

  - __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
  - More use cases for keyword arguments have been fixed to behave
correctly and avoid extraneous warnings. #7637, #7645, #7657, #7658, #7670,
#7672, #7686
  - Array#pack now supports more cases, passing nearly all specs. #7663
  - Compatibility with CRuby’s command-line arguments has been improved.
#7678, #7680, #7681, #7681, #7683, #7684

Standard Library

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

Platform Support

  - 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

  - 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

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

···

--
blog: http://blog.enebo.com twitter: tom_enebo
mail: tom.enebo@gmail.com