JRuby 9.3.4.0 Released

Wednesday, March 23 2022

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

JRuby 9.3.x is compatible with Ruby 2.6.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.

Thanks to our contributors this cycle for helping to improve compatibility: @ahorek, @byteit101, @k77ch7

Ruby Compatibility

  • define_singleton_method now always uses public visibility. This simplifies its implementation and eliminates warnings when aliasing it, as in the ostruct gem. (ruby/ostruct#40, #7031, #7055)

Java Integration

  • The import method for importing Java classes remains deprecated for removal in 9.4, but now provides a better warning with a source location. (#6976)
  • Ruby subclasses of Java classes and Ruby classes converted into Java classes can now include instance variables that are accessible from Java as normal fields. This improves integration with Java frameworks that use reflection to access object state. (#7012)

Hardware Support

  • Generated make files now properly set the platform architecture when running on Linux/aarch64 and Apple’s M1 family of CPUs. This allows sassc and other non-extension C-based gems to build and install properly. (sass/sassc-ruby#231, #7132, #7133)

Standard Library

  • ostruct is updated to 0.5.1, which fixes warnings in verbose mode loading the json library. (#6831, #6963)
  • logger is updated to 1.5.1, which fixes a log rotation locking issue on Windows. (ruby/logger#67, ruby/logger#68, #7038)
  • Socket IPv6 constants are now always defined regardless of platform support, matching CRuby and JRuby 9.2. (#7069, #7071)

33 Github Issues resolved for 9.3.4.0