JRuby 9.3.3.0 Released — JRuby.org (original) (raw)
Wednesday, January 19 2022
The JRuby community is pleased to announce the release of JRuby 9.3.3.0
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
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.
The big news this release is support for Apple’s M1 family of processors (Apple Silicon) via an update to our native FFI backend library. Nearly all our usual test suites are passing on M1 and we have added a self-hosted CI runner thanks to MacStadium’s OSS program. Callbacks from C to Ruby are unsupported, but this does not affect any libraries we ship. We will continue to improve M1 support with your help and bug reports.
We encourage users to file issues first and ask questions later! Please join our Matrix room if you have any issues or just want to get involved.
Thanks to our contributors this cycle for helping to improve compatibility: @ahorek, @byteit101
Additional thanks to @kovyrin for working through M1 issues with us and confirming that a large application builds and tests successfully.
Hardware Support
- This release includes greatly improved support for Apple Silicon processors like the M1. (#6813, #6853, #6974, #6977, #6983, #6986, #7006)
- Known issue: passing a Ruby FFI Function object to C code as a callback is not currently supported due to security restrictions on Apple Silicon. Neither JRuby nor any libraries we ship require this functionality. We will fix it for a future release. (#6995)
Ruby Compatibility
- The parser once again handles files larger than 32k lines. This issue affected simplecov and mailer gems that we know of. (#6984, #6991)
Standard Library
- ostruct is updated to 0.5.1, which fixes warnings in verbose mode loading the json library. (#6831, #6963)
Java Integration
- Additional fixes for super calls from Ruby subclasses of Java classes to match behavior in 9.2.x. (#6935, #6957)
22 Github Issues resolved for 9.3.3.0
- #6813 - File.directory? returns false on macOS M1 for a directory
- #6831 - require “json” outputs warnings
- #6853 - Getting “io/console on JRuby shells out to stty for most operations” on Jruby 9.3 with JDK17
- #6935 - RuntimeError: Found multiple supers in java ctor
- #6957 - Make split-super errors slightly more user friendly
- #6963 - Update ostruct to 0.5.1
- #6968 - Calling super() in a reopened Java subclass method triggers NPE in IRRuntimeHelpers.javaProxySuper
- #6974 - Dir.mktmpdir errors on apple-silicon native JDK
- #6977 - gem install error “Permission denied” for jruby 9.3.2.0 [darwin-aarch64] (Apple M1)
- #6981 - JRuby 9.3.2.0 case/when array comparison differs from CRuby 2.6.9
- #6983 - Wrong file mode/permission when opening/creating a new file [Apple Silicon, arm64, aarch64]
- #6984 - Java::JavaLang::ArrayIndexOutOfBoundsException on jruby-9.3.2.0
- #6986 - Merge 9.2 for JNR update and Symbol fix
- #6989 - case when with an empty array
- #6991 - Fix #9684. AIIOBE when files >16bit lines and using coverage
- #6993 - Possible memory leak from instance_eval with jruby 9.3
- #6994 - Fixes #6993. Evals cause memory leak.
- #6996 - Do not cache non-“once” dregexp
- #7004 - Module check mishandles bash operator precedence
- #7006 - Fixes to run tests on Apple Silicon
- #7007 - Java class reopened to add a super call should dispatch normally
- #7010 - Avoid subshell for module check