[ruby-talk:444831] JRuby 9.4.15.0 released

The JRuby community is pleased to announce the release of JRuby 9.4.15.0.

   - Homepage: https://www.jruby.org/
   - Download: Downloads — JRuby.org

JRuby 9.4.15.x targets Ruby 3.4 compatibility.

Thank you to our contributors this release, you help keep JRuby moving
forward!

With this release, JRuby 9.4 moves into end-of-life (“EOL”). This means
that future releases of 9.4.x will only be provided as needed by commercial
JRuby users.

Get in touch with us if you require long-term support options for the JRuby
9.4.x series.
38 Issues and PRs resolved for 9.4.15.0

   - #8801 ruby/logger gem broken after version 1.6.3 using JRuby on Windows
   <Issues · jruby/jruby · GitHub;
   - #8924 const_defined? returns false for External Constants in JRuby
   10.0.1.0 and 9.4.14.0 <Issues · jruby/jruby · GitHub;
   - #8974 Use RuboCop to clean up poms (9.4)
   <https://github.com/jruby/jruby/pull/8974&gt;
   - #8990 Launcher defensive fixes 9.4
   <https://github.com/jruby/jruby/pull/8990&gt;
   - #9000 JRuby 9.4.14.0 “wrong number of arguments” when jit.threshold=0
   <Issues · jruby/jruby · GitHub;
   - #9001 Backport indy ruby2_keywords ArgumentError fix
   <https://github.com/jruby/jruby/pull/9001&gt;
   - #9002 Backport ArgumentError message update from 2010
   <https://github.com/jruby/jruby/pull/9002&gt;
   - #9012 Rexml security updateUpdate rexml gem to solve CVE-2025-58767
   (9.4) <https://github.com/jruby/jruby/pull/9012&gt;
   - #9030 Official JDK 25 support for JRuby 9.4
   <https://github.com/jruby/jruby/pull/9030&gt;
   - #9031 Don’t restrict object search to modules
   <https://github.com/jruby/jruby/pull/9031&gt;
   - #9032 Different arguments for each.map vs each and map alone
   <Issues · jruby/jruby · GitHub;
   - #9033 Backport jruby.sh and .jruby.release changes from 10
   <https://github.com/jruby/jruby/pull/9033&gt;
   - #9037 fix: clear code-range when re-using a string buffer (#9035)
   <https://github.com/jruby/jruby/pull/9037&gt;
   - #9044 Difference in Float() hex parsing between JRuby and CRuby
   <Issues · jruby/jruby · GitHub;
   - #9045 Fixes basic float hex value strings for Kernel#Float
   <https://github.com/jruby/jruby/pull/9045&gt;
   - #9054 Migrate .java-version contents to .jruby.release (9.4)
   <https://github.com/jruby/jruby/pull/9054&gt;
   - #9104 [9.4] Update jruby-openssl to v0.15.5 to resolve BouncyCastle
   1.79 vulnerability (sonatype-2025-001911).
   <Issues · jruby/jruby · GitHub;
   - #9105 [9.4] Update jruby-openssl to 0.15.5
   <https://github.com/jruby/jruby/pull/9105&gt;
   - #9128 [9.4] fix(launcher): correct parsing of java release files under
   Bash/msys2 etc on Windows <https://github.com/jruby/jruby/pull/9128&gt;
   - #9160 Update strscan to 3.1.7
   <https://github.com/jruby/jruby/pull/9160&gt;
   - #9186 9032 Fix Different arguments for each.map vs each and map alone
   <https://github.com/jruby/jruby/pull/9186&gt;
   - #9201 Extract float formatting into a static method (9.4)
   <https://github.com/jruby/jruby/pull/9201&gt;
   - #9295 Issue with calling IO.popen(env, cmd, opts) on Windows
   <Issues · jruby/jruby · GitHub;
   - #9308 Process.detach raises ArrayIndexOutOfBoundsException if called
   from a thread that is not the main thread
   <Issues · jruby/jruby · GitHub;
   - #9311 Push a frame for thread toplevel
   <https://github.com/jruby/jruby/pull/9311&gt;
   - #9347 Use JDK for File#flock on Windows
   <https://github.com/jruby/jruby/pull/9347&gt;
   - #9351 Fix non-native IO.popen env + kwargs handling
   <https://github.com/jruby/jruby/pull/9351&gt;
   - #9353 Update JNR dependencies
   <https://github.com/jruby/jruby/pull/9353&gt;
   - #9377 Checking out aws-sdk-ruby creates a file with binary data.
   <Issues · jruby/jruby · GitHub;
   - #9387 [9.4] deps(stdlib): bump erb from 2.2.3 to 4.0.4.1 to resolve
   CVE-2026-41316 <https://github.com/jruby/jruby/pull/9387&gt;
   - #9391 [9.4] [deps] bump jruby-openssl to 0.16.0
   <https://github.com/jruby/jruby/pull/9391&gt;
   - #9415 Don’t read or write anything once length is zero
   <https://github.com/jruby/jruby/pull/9415&gt;
   - #9443 JRuby 9.4 does not generate bytecode for newer JDK versions
   <Issues · jruby/jruby · GitHub;
   - #9444 Allow bytecode version to be open-ended
   <https://github.com/jruby/jruby/pull/9444&gt;
   - #9464 [fix] escape shell metachars in chdir: to prevent injection
   <https://github.com/jruby/jruby/pull/9464&gt;
   - #9467 [9.4] backport [ji] support
   java.lang.Throwable#backtrace_locations (#9461)
   <https://github.com/jruby/jruby/pull/9467&gt;
   - #9477 Dist verification 9.4 <https://github.com/jruby/jruby/pull/9477&gt;
   - #9480 [fix] @JRubyMethod error with required>=1 and var-args
   <https://github.com/jruby/jruby/pull/9480&gt;

*Charles Oliver Nutter*
*Architect and Technologist*
Headius Enterprises

headius@headius.com