JRuby 9.2.14.0 Released

Tuesday, December 08 2020

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

JRuby 9.2.x is compatible with Ruby 2.5.x and stays in sync with C Ruby. As always there is a mix of miscellaneous fixes so be sure to read the issue list below. All users are encouraged to upgrade.

As we are still actively working on 9.3.0.0 we decided to put out another 9.2.x release to fix some of the more recently reported issues.

Security

  • The WEBrick HTTP server has been updated to 1.6.1 to address CVE-2020-25613. (#6462, #6463)

Standard Library

  • did_you_mean was updated to 1.2.1 to remove some Creative Commons licensed content. (#6471, #6473)
  • jruby-openssl was updated to 0.10.5 to eliminate some Java module warnings and improve compatibility. (#6423)

Concurrency

  • A race in storing the lock a thread has just acquired was fixed, preventing that lock from being left locked if the thread dies prematurely. (#6326, #6405, #6407)

Performance

  • Call sites bound using invokedynamic were not inlining due to a quirk of classloading on OpenJDK. This has been fixed so such calls inline properly. (#6280)

Native Integration

  • The Java Native Runtime used to integrate with native system code has been updated to latest versions to improve compatibility. (#6482)

Github Issues resolved for 9.2.14.0

  • #6280 - Trivial call site not inlining with invokedynamic
  • #6326 - ActiveRecord ConnectionPool locking issue with 9.2.12.0
  • #6354 - I'm trying to install on Windows 10 (64 bit) and getting this error: 'An internal error occurred (error code: 20)'
  • #6356 - "WARNING: An illegal reflective access operation has occurred" during gem build (from jopenssl)
  • #6367 - Pack200 is dead
  • #6371 - Non adapting end of iteration on insert during iteration - difference between Ruby and JRuby
  • #6379 - `exit!` incorrectly calls exit handlers
  • #6385 - DateTime loses timezone offsets on marshal/unmarshal
  • #6393 - Handle modification during delete_if iteration
  • #6394 - Remove all references to pack200
  • #6395 - Remove teardown hook to allow hard shutdown
  • #6405 - Thread kill does not release lock
  • #6407 - Make sure locks are added immediately after acquisition
  • #6413 - Ripper provides incorrect output
  • #6423 - update jruby-openssl to 0.10.5
  • #6424 - [fix] Date/DateTime loosing offset on marshal
  • #6428 - Date._strptime raises Java exception on invalid argument
  • #6432 - [fix] Date._strptime raises Java exception on invalid argument
  • #6440 - Java::JavaLang::NullPointerException () --> JRuby 9.2.13.0 on Windows 10
  • #6443 - Do not optimize case with null value to switch
  • #6463 - Update webrick to 1.6.1
  • #6466 - java.lang.ArrayIndexOutOfBoundsException in 9.2.13.0
  • #6467 - Simplify detached process thread logic
  • #6471 - Bundled did_you_mean gem v1.2.0 has a CC NonCommercial license in included file
  • #6473 - Update did_you_mean
  • #6475 - WARN FilenoUtil : Native subprocess control requires open access to the JDK IO subsystem
  • #6480 - Float() parsing innacuracy
  • #6482 - Update JNR projects to latest