October 25, 2020

JRuby v9.2.13 releases: an implementation of the Ruby language

2 min read

JRuby is an implementation of the Ruby language using the JVM. It aims to be a complete, correct and fast implementation of Ruby, at the same time as providing powerful new features such as concurrency without a global-interpreter-lock, true parallelism, and tight integration to the Java language to allow you to use Java classes in your Ruby program and to allow JRuby to be embedded into a Java application.

You can use JRuby simply as a faster version of Ruby, you can use it to run Ruby on the JVM and access powerful JVM libraries such as highly tuned concurrency primitives, you can use it to embed Ruby as a scripting language in your Java program or many other possibilities.

Changelog v9.2.13

Security

Concurrency

  • Internal structures used to optimize Ruby code have been made more thread-safe. Previously, these optimizations could
    be seen across threads in a partially-complete state, leading to errors in JRuby’s core runtime.
    (#6319#6323,
    #6337)

Ruby Compatibility

  • IO.copy_stream has been fixed to ensure all read bytes are written. Previously, partial writes would leave some
    read bytes in limbo, leading to hangs in net/http among other libraries.
    (#6078#6348)
  • Fixed a regression from 9.2.12.0 in how we translate JDK socket errors to Ruby’s Errno on Windows.
    (#6322#6328)

FFI

  • FFI has been patched to not automatically release memory pointers when autorelease is disabled. This caused crashes
    in the sassc native library and possibly others. (#6310,
    #6331)

Download