JRuby 9.4.2.0 Released
Wednesday, March 08 2023
The JRuby community is pleased to announce the release of JRuby 9.4.2.0.
- Homepage: https://www.jruby.org/
- Download: 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
__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.
The JRuby community is pleased to announce the release of JRuby 9.4.2.0.
- Homepage: https://www.jruby.org/
- Download: 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
__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 differentRangeError
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 version1.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.