Skip to content

JRuby 9.3.0.0 Release Notes

Charles Oliver Nutter edited this page Sep 22, 2021 · 5 revisions

JRuby 9.3.0.0 Release Notes

The JRuby community is pleased to announce the release of JRuby 9.3.0.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.

With such a long development cycle, there are bound to be "dot zero" bugs and compatibility gaps, so we plan to release incremental fixes for JRuby 9.3 rapidly. We encourage users to file issues for any problems they encounter and join us in our Matrix chat room

Thank you to our excellent community of users for their many contributions! JRuby would not be successful without your help: @ahorek, @byteit101, @chrisseaton, @deivid-rodriguez, @edipofederle, @JasonLunn, @joshbressers, @k77ch7, @MariuszCwikla, @marshalium, @MikaelUrankar, @mkristian, @nomadium, @olleolleolle, @pirj, @ProfessorEugene, @pzygielo, @T45K, @thbar

These notes may be updated on the JRuby Wiki to include additional information and links to new or updated documentation: JRuby 9.3.0.0 Release Notes

Compatibility

  • Ruby language compatibility is updated to match Ruby 2.6.8. (#5576)
  • The require/load/autoload subsystem has been rewritten to better match Ruby behavior. This improves support for the Zeitwerk loader and fixes many long-standing issues. (#2794, #3656, #5403, #5466, #5590, #5618, #5638, #5717, #5763, #5764, #6347, #6445)
  • Improved logic for handling complex method and constant lookups, such as when prepends, refinements, or super calls are in play. Most known issues with these forms have been fixed. (596, #2155, #4678, #6271, #6712, #6777, #6778, #6785)

Standard Library

  • The standard library has been updated to match Ruby 2.6.8. Several libraries now use the official gems, allowing them to be upgraded independently of JRuby. (#4875, #6150, #6797, #6796, #6795, #6794, #6533, #6802)

Java Integration

  • JRuby supports Java versions 8 through 17, and should work well with any supported build of OpenJDK. Future versions of JRuby may drop support for Java 8 through 10, so we encourage users to upgrade older apps soon.
  • The Java integration logic for extending Java classes from Ruby has been rewritten to better support Java constructors and to reuse more logic from the rest of our Java integration library. This allows users to use those Ruby subclasses with Java frameworks that bootstrap using reflection, such as JavaFX. (#449, #2369, #4165, #5270, #6422)
  • JRuby now ships a new "jruby-base" jar artifact to Maven Central. This artifact provides a bare-bones JRuby jar file with no dependencies or standard libraries included. We may deprecate and remove the "jruby-core" artifact in the future, as it only provides Java dependencies and no standard libraries (users should prefer to build their own with jruby-base or use the jruby-complete artifact). (#6233)
Clone this wiki locally