JRuby 9.4.6.0 Released

Tuesday, February 20 2024

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

JRuby 9.4.x targets Ruby 3.1 compatibility.

Thank you to our contributors this release, you help keep JRuby moving forward! @evaniainbrooks, @ahorek, @kares, @most00, @ntkme, @sk757a

Ruby Compatibility

  • Support for the new Prism parser for Ruby code has been merged in. A blog post will follow soon. #8103
  • IO#fcntl had inverted logic for setting O_NONBLOCK (setting it cleared the value, etc). [#8081], [#8090]
  • Many fixes to language and core class compatibility, see issue list.
  • Warnings should match verbosity levels of CRuby, with many unwanted warnings now properly omitted without verbose enabled. #7183, #8071

Standard Library

  • json is updated to 2.7.1. #7752, #7954
  • io-console is updated to 0.7.2. This version fixes IRB on Apple M-series by using stty for console manipulation. #8012
  • nkf is now supported by gem version 0.2.0. #8077
  • strscan is updated to 3.1.0. #8074, [#8086]
  • reline is updated to 0.4.2 #8102
  • jruby-openssl is updated to 0.14.3 #8107

JVM Integration

  • Ruby Symbols can be use as arguments to JVM methods that receive Java String. #8015, #8057
  • Starting with Java 17, package-private methods will no longer be bound automatically even if they can be made visible. #8061, #8093

Native Integration

  • The subsystem used for native calls has been updated to support RHEL/CentOS 7 and the Java 9+ Cleaner API. [#8104]

Performance

  • Performance of keyword argument handling has been improved. #8021
  • Pattern matching is now supported in JRuby’s JIT compiler. #8026, #8027

77 Github Issues resolved for 9.4.6.0