Releases: jruby/jruby
JRuby 9.4.13.0
The JRuby community is pleased to announce the release of JRuby 9.4.13.0.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.4.13.x targets Ruby 3.1 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward!
Stability
- Fixed a slow memory leak in subclass management. (#8842, #8844)
- Fixed a potential deadlock during multi-threaded boot and concurrent JIT compilation. (#8845, #8849)
Usability
- Backported JRuby .sh launcher features from JRuby 10, including AppCDS flags for improved startup time. (#8565, #8625, #8626, #8652, #8653, #8656, #8754)
56 Issues and PRs resolved for 9.4.13.0
- #8351 Zlib::GzipReader missing each_char iterator
- #8426 Dir[] vs "../../"
- #8506 Test new version of resolv
- #8526 obj.first caused Java::JavaUtil::NoSuchElementException on an empty Java21 ArrayList
- #8542 Fix Dir.glob ../ and cases
- #8565 JRuby native launcher seems to get confused when both --dev and -Xcompile.mode=JIT are applied
- #8574 Improvements to support json library
- #8577
ArgumentError: unknown keyword
for required keyword argument - #8599 Fixes #8577. kwargs checking: Use bits instead of index
- #8608 add zlib each_char
- #8611 Setting an instance var on a Java object no longer warns
- #8613 Warn when creating a new ivar table on JavaProxy wrapper
- #8623 Installing sassc broke on jruby-head on Windows
- #8625 Add --cache flag to regenerate AppCDS
- #8626 Fix default arguments for generating AppCDS flag
- #8635 Fix
tr!
andreverse!
on ByteList view with non-zero begin index - #8643 Fixes to get stringio tests and specs green
- #8645 Update stringio to 3.1.5
- #8648 Handle errors whe looking for Java executable
- #8652 Use set -u to avoid accessing uninitialized variables
- #8653 Align 9.4 launcher with 10
- #8654 fix glob dir on windows
- #8655 Make some private helpers for glob
- #8656 Additional fixes for jruby.sh
- #8661 Update Unicode to 15.0
- #8663 copy-rename-maven-plugin version
- #8667 Update jcodings to 1.0.62 and joni to 2.2.4
- #8671 fix a regression in KDDI transcoding
- #8681 Update MRI core tests and tag failures
- #8686 rbByteEncode fails to no-op when encodings are the same
- #8687 Handle encoding checks as in strTranscode
- #8688 Tracing
:call
with TracePoint (and --debug flag) makes kwargs unusable - #8691 Implement AutoCloseable on JRubyEngine
- #8692 Save original callers callInfo in tracepoint
- #8696 New restriction warnings on Java 24
- #8715 Fix missing 2 arg for IO#readline
- #8728 Incorrect warning: given block not used
- #8731 [ji] avoid false duplicate method warning
- #8733 Remove this warning to match standard set.rb
- #8754 Backport jruby.sh from JRuby 10
- #8755 Update uri to version 0.12.3 in JRuby 9.4
- #8789 Dir.glob and Dir[] on existing file URL raises error
- #8795 Possible typo in lib/ruby/stdlib/jruby/compiler.rb:61
- #8805 Possible NPE in RubyModule:searchWithCacheMiss() found by SAST
- #8806 Possible NPE in StringSupport:rbStrEnumerateLines() found by SAST
- #8820 Fix recent potential NPE reports
- #8821 Always cache undef along these paths
- #8825 Update net-imap from 0.2.3 to 0.2.5
- #8827 Update to net-imap 0.2.5 for security fixes
- #8830 Splat with multi-line expression improperly expands
- #8834 Missing splatNode creation
- #8842 Metaspace leak in 9.4
- #8844 Use a normal ClassValue for all such cases
- #8845 Fix locking of stable class values for JI proxies
- #8849 Clean up some locking around hierarchy modification
- #8857 Migrate to the new Maven Central publishing system
JRuby 10.0.0.1 Released
The JRuby community is pleased to announce the release of JRuby 10.0.0.1.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
We've jumped to Ruby 3.4 compatibility and Java 21 minimum to bring you the best Ruby on JVM experience possible. We are confident this is the most compatible and stable major release we've ever had.
Security
- jruby-openssl has been updated to 0.15.4, which re-enables hostname verification by default. This addresses CVE-2025-46551 and GHSA-72qj-48g4-5xgx.
JRuby 9.4.12.1 Released
The JRuby community is pleased to announce the release of JRuby 9.4.12.1.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.4.12.x targets Ruby 3.1 compatibility.
Security
- jruby-openssl has been updated to 0.15.4, which re-enables hostname verification by default. This addresses CVE-2025-46551 and GHSA-72qj-48g4-5xgx.
JRuby 10.0.0.0 Released
The JRuby community is pleased to announce the release of JRuby 10.0.0.0.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 10 is finally here! We've jumped to Ruby 3.4 compatibility and Java 21 minimum to bring you the best Ruby on JVM experience possible. We are confident this is the most compatible and stable major release we've ever had.
Our blog post on JRuby 10 provides a high-level overview of the major changes, with some additional details below. We will update the blog post with additional detailed articles over the coming weeks: https://blog.jruby.org/2025/04/jruby-10-part-1-whats-new
As with any "dot zero" release, we are planning a series of quick updates to address any last-minute issues that snuck into the release. Please file bugs for any issues you see while testing JRuby 10.0: https://github.com/jruby/jruby/issues
Contributors
The JRuby core team today includes Charles Oliver Nutter (@headius), Thomas Enebo (@enebo), and Karol Bucek (@kares). Over the past year we have been honored to accept contributions from many other developers, and JRuby 10 would not be as stable or complete without their help:
[@andsel], [@mrnoname1000], [@ahorek], [@evaniainbrooks], [@edipofederle], [@ccutrer], [@danini-the-panini], [@ntkme], [@andrykonchin], [@mohamedhafez], [@jsvd], [@jpcamara], [@mullermp], [@ikaronen-relex], [@jimtng], [@ryannevell], [@eregon], [@moste00], [@sk757a]
Ruby Compatibility
- Ruby compatibility has been updated to Ruby 3.4. We consider this release equivalent to Ruby 3.4.2.
- Most features of Ruby 3.2, 3.3, 3.4 are complete, but some are still in progress. See our checklists based on CRuby's release notes: Ruby 3.2, Ruby 3.3, Ruby 3.4
- Except where a more recent gem was available or a library is unsupported by JRuby, we have included the same standard libraries as Ruby 3.4.
Java 21
After nearly a decade of supporting Java 8, the JRuby team decided it's time for us to move to a more modern version of Java. The new requirement of Java 21 will allow us to take advantage of many features that were impossible to utilize while simultaneously supporting Java 8:
- On-by-default optimization using InvokeDynamic, which has significantly improved since Java 8.
- Support for thousands of Fibers using the lightweight virtual thread support from Project Loom.
- Fast native function calling and native memory management using Project Panama.
- Greatly improved startup time using Application Class Data Store, enabled by default by our launcher executables.
- Easier access to post-Java 21 features like the Ahead-of-time compiler cache in Project Leyden.
Upgrading to JRuby 10
This release marks a big leap forward for JRuby users, and we are standing by to help with your transition from JRuby 9.x or migration from CRuby. Support services are available to help migrate your critical applications. Many existing users trust JRuby Support by Headius Enterprises to keep their applications in peak condition and to prepare for future updates.
Issues and Pull Requests
There are hundreds of closed issues and merged pull requests in this release. Visit the JRuby 10.0.0.0 milestone for the full list.
201 Issues and PRs resolved for 10.0.0.0
- #6094 [Less modes to run JRuby, and one single mode to benchmark JRuby][#6094]
- #6598 [Modularize all the things][#6598]
- #7516 [Improvements to instance variable shaping][#7516]
- #7638 [ Add support for Ruby 3.2 attached_object][#7638]
- #7646 [Add Integer#ceildiv][#7646]
- #7788 [Add support for a rescue trace event][#7788]
- #7871 [Ruby 3.2 - Remove deprecated methods: trust/taint and friends][#7871]
- #7909 [Intermittent failure on duped pipe tests JDK 19+][#7909]
- #7973 [Use gem for tempfile][#7973]
- #8058 [Ruby 3.3 support: Queue#freeze now raises TypeError][#8058]
- #8059 [Ruby 3.3 support: add symbolize_names kwarg to MatchData#named_captures][#8059]
- #8084 [remove JRuby-specific (deprecated) Class#subclasses(arg)][#8084]
- #8143 [Remove versioned methods][#8143]
- #8145 [Refactor external API to ease extension porting][#8145]
- #8152 [New parser][#8152]
- #8153 [Update parser to 3.4][#8153]
- #8154 [Update and run CRuby 3.4 tests][#8154]
- #8159 [Fix last obvious syntax problem (involving nested pattern kwargs going off rails)][#8159]
- #8160 [Proc#{dup,clone} should be like other objs][#8160]
- #8161 [Finalizers also are on cloned/duped objects][#8161]
- #8162 [Finalizers also are on cloned/duped objects][#8162]
- #8163 [tracepoint only runs in thread it was enabled on][#8163]
- #8164 [{,Unbound}Method#{proc,dup} need to be more like other Ruby objects][#8164]
- #8165 [Add MatchData#deconstruct...][#8165]
- #8168 [First stab at Err#typeError in api][#8168]
- #8169 [Update json to eliminate references to "19" methods][#8169]
- #8170 [Implement block_given? call as optimized instruction][#8170]
- #8172 [Optimized method and callee][#8172]
- #8174 [Unify call paths for most framed scopes][#8174]
- #8175 [These may have been hanging due to a block_given? bug][#8175]
- #8176 [Simplify fixnum and string ranges][#8176]
- #8177 [A few frozen string and symbol optimizations][#8177]
- #8180 [Optimizations for dynamic string building][#8180]
- #8181 [Add ability to generically optimize instr during LOP][#8181]
- #8214 [Disable eager constants in JRuby 10][#8214]
- #8223 [Make Exception#detailed_message,full_message pass specs][#8223]
- #8226 [Implement "chilled" Strings][#8226]
- #8227 [Narrow frame name optimization to method scopes][#8227]
- #8228 [IO#readlines accepts another arg][#8228]
- #8229 [Fix full_message formatting and Throwable impl][#8229]
- #8230 [More frame name fixes][#8230]
- #8233 [Implement Regexp#linear_time?][#8233]
- #8236 [More string interpolation optimizations][#8236]
- #8238 [Implement regexp timeout][#8238]
- #8240 [Fix IO#each_line specs][#8240]
- #8249 [Reduce deopt from print use of $_][#8249]
- #8253 [Optimize literal fixnum and float arrays][#8253]
- #8259 [Improved representation of JRuby for JVM tools][#8259]
- #8260 [Rewrite Marshal.dump logic for efficiency][#8260]
- #8262 [Proc spreading changed in 3.2 with kwrest][#8262]
- #8263 [Implement Coverage::supported?][#8263]
- #8266 [Enable invokedynamic by default][#8266]
- #8267 [Print out paths for syntax errors][#8267]
- #8268 [Unbound method][#8268]
- #8276 [Struct specs][#8276]
- #8277 [Time#new spec fixes.][#8277]
- #8279 [Reduce overhead of ObjectSpace#each_object when disabled][#8279]
- #8291 [Fix remaining copy stream specs][#8291]
- #8293 [Eliminate last consumers of Variable logic][#8293]
- #8295 [3 new Convert API methods][#8295]
- #8297 [Make common method for handling to_r calls in Rational][#8297]
- #8298 [Api changes][#8298]
- #8299 [Linkage errors from java_import are lazy][#8299]
- #8300 [Do initialize classes during java_import][#8300]
- #8301 [Decode ByteList properly for toString][#8301]
- #8304 [Eager initialize java_import'ed classes][#8304]
- #8317 [New asFixnum, asBoolean, asString in Convert][#8317]
- #8330 [Eliminate dynscope for leaf blocks with break/return][#8330]
- #8375 [Revisit chilled strings and pass all specs][#8375]
- #8376 [Get most Enumerator::Product specs passing][#8376]
- #8377 [No backtick in errors][#8377]
- #8378 [Update to latest CRuby 3.4 tests and stdlib][#8378]
- #8390 [Fix foreach with mode: kwarg][#8390]
- #8402 [Hash#inspect: no arrow for symbol keys. add spacing to match C Ruby][#8402]
- #8410 [Permute indy invoke paths to reduce uncached stack][#8410]
- #8414 [Pre-generate specialized object shapes][#8414]
- #8418 [Some small refactoring while looking for example snippet code of new API][#8418]
- #8420 [A bunch of new API calls and new JRubyAPI annotation][#8420]
- #8430 [More dogfooding of new API][#8430]
- #8432 [argumentError API conversions with a lot of runtime to tc replacement][#8432]
- #8437 [context through RubyArray using more API][#8437]
- #8444 [Nearly all newArray is converted to API][#8444]
- #8450 [Enable invokedynamic by default][#8450]
- #8452 [newFixnum,Symbol,Float are unified with asXXX. ][#8452]
- #8454 [more api conversion around Time+][#8454]
- #8459 [API: Nearly all remaining newArgumentError to argumentError][#8459]
- #8460 [more newSymbols made into asSymbol][#8460]
- #8461 [new runtimeError api][#8461]
- #8467 [api: new rangeError, indexError ][#8467]
- #8468 [to_s with TC. new dupString api][#8468]
- #8470 [Inspect wrong object when symbol/string wanted in error][#8470]
- #8471 [more illegal formatting added to printf/format][#8471]
- #8472 [Add new Check#checkEmbeddedNulls to replace StringSupport method][#8472]
- #8473 [Make Time load its Ruby-impl side][#8473]
- #8474 [Create#newEmptyString][#8474]
- #8475 [Create#new{,Small}Hash][#8475]
- #8484 [Various array optimizations][#8484]
- #8485 [Fixes for MRI tests][#8485]
- #8489 [Bind directly to all supported arities of native methods][#8489]
- #8490 [New define API][#8490]
- #8491 [Make hash() always call to hash(ThreadContext) and deprecate][#8491]
- #8492 [...
JRuby 9.4.12.0 Released
The JRuby community is pleased to announce the release of JRuby 9.4.12.0.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.4.12.x targets Ruby 3.1 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward!
Critical Fixes
- Added additional locking to the new Class#subclasses implementation to fix a concurrent modification error. #8602, #8603
Standard Library
- jar-dependencies upgraded to 0.5.4 to fix an issue parsing Maven output on Java versions 9 and higher. #8606, [#8515]
4 Issues and PRs resolved for 9.4.12.0
JRuby 9.4.11.0 Released
The JRuby community is pleased to announce the release of JRuby 9.4.11.0.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.4.11.x targets Ruby 3.1 compatibility. This release fixes two critical bugs in JRuby 9.4.10.0 and we recommend users skip that version when upgrading.
Thank you to our contributors this release, you help keep JRuby moving forward!
- Karol Bucek @kares
Critical Fixes
- Fixed an issue where Mutex lock acquisition may leave the Mutex locked if an asynchronous Thread interrupt happens at the same time. #8585, #8586
- Fixed a memory leak where singleton classes would leave behind bookkeeping objects that accumulated over time. #8591, #8598
Standard Library
- rubygems been updated to version 3.6.3 to fix an incompatibility with bundler 2.6. #8590, #8596
- bundler has been updated to version 2.6.3. #8596
- jruby-openssl has been updated to 0.15.3. #8458, Release 0.15.3
- jar-dependencies has been updated to 0.5.3 to fix remaining issues loading Maven jars in containerized environments. #8593, #8595
9 Issues and PRs resolved for 9.4.11.0
- #8458 [deps] bump jruby-openssl to 0.15.3
- #8584 Remove dependency on jakarta.annotation-api
- #8585 Thread interrupt can leave Mutex locked in synchronize
- #8586 Unlock if poll triggers an exception
- #8590 Bundler v2.6.x is incomptible with Gem system version included in JRuby 9.4.10.0 by default
- #8591 Eliminate leak of non-concrete subclass references
- #8593 Cannot create a Rails app with JRuby 9.4.10.0, Rails 7.1.5.1
- #8595 Update jar-dependencies to 0.5.3
- #8596 Update rubygems to 3.6.3 and bundler to 2.6.3
- #8598 Memory leak from ActiveRecord_Relation after upgrading from JRuby 9.4.9.0 to 9.4.10.0
JRuby 9.4.10.0 Released
The JRuby community is pleased to announce the release of JRuby 9.4.10.0.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.4.x targets Ruby 3.1 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward!
- Dani Smith @danini-the-panini
- Karol Bucek @kares
- mrnoname1000 @mrnoname1000
Ruby Compatibility
- Fixed a NegativeArraySizeException crash parsing heredocs. #8355, #8557
- Users can now opt into Ruby 3.3 behavior for NoMethodError and NameError that no longer inspects the target object. This inspect frequently led to memory issues. Specify JRuby flag
-XnameError.inspect.object=false
or JVM propertyjruby.nameError.inspect.object=false
to disable the inspect call. #216, #8384, #8538 - Implemented the missing
Process.argv0
method, used by recent Bundler releases. #8568, #8570
Standard Library
- The jar-dependencies gem, responsible for fetching jar file dependencies of Ruby gems, can now be updated independently of JRuby. #7262, #8488, #8502
- An upcoming release of jar-dependencies, will fix issues sourcing jar dependencies in container deployments (partially fixed previously by an updated ruby-maven-libs gem). #7059, #8366
- The psych gem is updated to version 5.2.3, including a fix for YAML aliases from SnakeYAML-Engine version 2.9. #8352, #8575
- The reline gem is updated to 0.5.12. #8481
Java Integration
- Only JVM classes imported from the same classloader hierarchy as JRuby will be bound to constants in JRuby's package hierarchy. #8156
- Implementing a Java interface no longer leads to constant redefinition warnings. #8349, #8503
- Precompiled Ruby scripts now properly prepare optimized homogeneous case/when statements. Previously they would deserialize incorrectly and garble the branches. #8421, #8424
Performance and Usability
- Additional runtime data structures are eagerly cleared when tearing down a JRuby runtime, aiding GC. #8343, #8566
- The JRuby shell-based launcher script now properly handles JRuby installed in a path with spaces. #8441, #8442
- The
Class#subclasses
method has been optimized to eliminate it as a bottleneck in complex ActiveRecord STI queries. #8457, #8462 - Integer multiplication operations that overflow outside of int64 range have been optimized to eliminate heavy exception raises. #8516, #8523
Issues and PRs resolved for 9.4.10.0
- #7059 Issue of Jar dependency with Jruby-9.3.3.0
- #7262 jar-dependencies cannot be updated out-of-band from jruby
- #8156 JRuby adds Java proxy classes to the Java module even if they are not from JRubyClassLoader
- #8343 Free up memory memory used by JRuby during teardown
- #8349 internal proxy class is stored in Ruby land and prints warning
- #8352 Cyclic references in Set objects raise exception with
YAML#load
- #8355 NegativeArraySizeException while parsing Heredoc in irb in JRuby 9.4.8.0
- #8366 Jruby 9.4.8.0 fails to install psych
- #8384 OutOfMemoryError while constructing a NameError in the context of a large object
- #8398 ruby2_keywords + forwarding to native does not properly check arity
- #8412 Intermittent exceptions with 'Java::JavaLang::NoClassDefFoundError : org/jruby/gen/RubyObject13'
- #8415 Skip extension builds for default gems
- #8416 [Possible bug] Can not start jruby-swing applications since 9.4.9.0 - or rather, the window auto-closes almost instantly
- #8417 Trivial refactoring for match
- #8421 Incorrect case tree selection when comparing long Symbols during compiled Ruby code execution
- #8424 Sort the jump tables based on new values
- #8425 Don't clear the ThreadGroup when Thread terminates
- #8431 jruby/thread_dump.rb seems to be broken
- #8433 Root specialized object classloader at JRuby classloader
- #8436 Pass Enumerable#uniq arguments properly
- #8438 Remove rogue exit(0) that shuts down JVM
- #8441 Spaces in the path cause
bin/jruby
script to build an invalid command string - #8442 jruby.sh: Use array to handle option files
- #8457 Class#subclasses slows down with larger sets
- #8462 Optimize Class#subclasses
- #8466 jirb 9.4.9.0 - reline "cannot convert parameter to native pointer"
- #8469 fix --jdb -sourcepath command
- #8477 Update to jar-dependencies 0.5.0
- #8478 Avoid re-polling while reporting a Thread#raise
- #8479 Thread interrupt requests can overwrite each other
- #8480 Provide concrete-only traversal for Class#subclasses
- #8481 Update reline to 0.5.12
- #8488 Issues bundling psych related to the jar-dependencies bump
- #8502 Avoid loading jar-dependencies to install gem hook
- #8503 [ji] do not expose InterfaceImpl classes in Ruby land
- #8511 Update to jruby-maven-plugins 3.0.4
- #8512 Disable Maven download progress output on CI jobs
- #8515 Update jruby-maven-plugins to 3.0.5
- #8516 Strange performance difference?
- #8523 Revert multiply to use non-intrinsic exactness checks
- #8538 Backport no-inspect NameError logic
- #8557 Fixes #8355: wallpaper crash in heredoc eof error
- #8562 Use same logic as IR for kwarg handling in IO#write
- #8566 Additional teardown to aid GC and release resources
- #8567 Update thread dump hook for modern JRuby
- #8568 Process.argv0 missing
- #8570 Add Process.argv0
- #8571 Update to jcodings 1.0.59
- #8572 Use warning instead of warning when adding attr as module_function
- #8573 Update jcodings to 1.0.61 and joni to 2.2.3
- #8575 Update psych to 5.2.3
JRuby 9.4.9.0 Released
The JRuby community is pleased to announce the release of JRuby 9.4.9.0.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.4.x targets Ruby 3.1 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward! @kares, @jpcamara, @jsvd
Ruby Compatibility
- Various fixes for keyword arguments. #8344, #8344, #8382, #8389
- Mutex has been fixed to check for thread interrupts (Thread#kill, Thread#raise) immediately after acquiring the lock. #8403, #8404
Standard Library
- The
fiddle
library is now a default gem and can be upgraded independently of JRuby. #8385
Developer Experience
- The core jar file of JRuby can be rebuilt more quickly by calling Maven with the
-Dcore
flag. #8326 - Support for Coordinated Restore at Checkpoint (OpenJDK Project CRaC), which allows snapshotting a running JRuby process and quickly resuming it later. #8367
Java Integration
- The "lazy" constants feature for classes imported from Java, introduced in JRuby 9.4.8.0, has been reverted due to spurious warnings. We'll revisit it in a future release. #8349, #8368, #8399, #8400, #8401
- Functions were added to allow flushing out thread-local and fiber-local storage for an entire JRuby runtime. #8369
Security
- REXML was updated to 3.3.9 to get recent fixes and to address CVE-2024-49761, a ReDOS vulnerability. Only users parsing unsanitized XML with REXML are affected. #8396
JRuby 9.4.8.0 Released
The JRuby community is pleased to announce the release of JRuby 9.4.8.0.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.4.x targets Ruby 3.1 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward! @edipofederle, @fidothe, @ikaronen-relex, @jimtng, @jsvd, @kares, @mullermp, @ntkme
Ruby Compatibility
Standard Library
- jruby-openssl is updated to 0.15.0, with updated Bouncy Castle libraries to avoid CVEs in older versions.
- uri is updated to 0.12.2, mitigating CVE-2023-36617.
- net-ftp is updated to 0.3.7 with restored functionality on JRuby.
58 Github Issues resolved for 9.4.8.0
- #6198 Add test for #6197
- #7515 Process.wait and Process.wait2 not behaving as expected on Windows with JDK > 8
- #7688 Correct Binding#dup to properly propagate values it captures
- #7750 File.absolute_path does not work correctly on Windows when dir_string is specified and contains non-ASCII characters
- #7879 New failures in Rack tests relating to deflater
- #8129 arity for { |a,| } was -2 and should have been 1
- #8140 [ji] support re-reifying class hierarchy
- #8178 Java::JavaLang::ClassCastException: class org.jruby.java.proxies.ConcreteJavaProxy cannot be cast to class org.jruby.RubyArray
- #8183 IPSocket#addr returning "0:0:0:0:0:0:0:0" as bound ip address and not "::" when preferring IPv6
- #8210 Requiring visibility=PRIVATE for native initialize is error-prone
- #8213 Introduce a DEFAULT visibility to indicate unspecified
- #8216 IO.popen fails to find executable with chdir: kwarg
- #8217 JRuby Jar comuptation fails in OSGi environment
- #8218 Process chdir option sooner so execFillarg sees it
- #8219 Class vars overtaken
- #8220 Fix some error messages to make MRI test pass
- #8222 Update uri to 0.12.2 for CVE-2023-36617
- #8225 Different behavior for Array#reject in required file
- #8232 Synchronize state in AbstractVariable and Argv
- #8237 Open3 doesn't write on the right STDOUT
- #8239 Fix Dir.home for empty dir name
- #8241 Making excluded tests from
test/mri/ruby/test_env.rb
pass - #8242 Resolve symlinks in user provided $JAVA_HOME
- #8243 handle FileSystemNotFoundException when getting jruby jar
- #8244 org.jruby.javasupport.ext.JavaLang.Number#define emits "method redefined" warnings in verbose mode
- #8245 Remove unused variable assignment from Fiddle::Pointer.to_ptr
- #8246 Remove skipped tests from TestAssignment
- #8247 Remove redundant (and slightly broken) to_int and to_f aliases
- #8248 JRuby parses "mixed" IPv6 address as IPv4
- #8250 [ji] avoid already initialized constant warnings
- #8251 Dir.chdir conflicting warning and error
- #8252 yield specific for interp should have same rest logic as other paths
- #8255 Fix #8183. IPSocket#addr should report :: vs long unspecified address
- #8256 Inconsistent debug info for jitted code in IntelliJ
- #8257 Remove passing MRI test Fixnum
- #8258 Check for override method on eql?
- #8261 [deps] update jruby-openssl to 0.14.6
- #8269 Unbound#== for aliases to be considered equal.
- #8270 Enumerable#inject/reduce should show arg error with no arg or block
- #8273 ARGF spec fixes.
- #8274 fix some range conditions in String#* by relaxing to long at first
- #8275 Refinement#import_methods always warns
- #8278 IO.popen does not return value of the provided block
- #8280 Enhancements for IR printing
- #8281 Set writer modification time to now by default
- #8282 Properly check for Module's superclass
- #8283 Pattern matching not working
- #8284 Fix pattern JIT Hash match and SyntaxError
- #8288 Race fixes for AOT mode in 9.3
- #8289 Subprocess launch with shell fails with empty env
- #8290 Check for empty string from ENV.op_aref
- #8292 Return the value of the block for IO.popen
- #8294 Fix IPSocket.getaddress to handle special case IPv6 addresses
- #8303 update jruby-openssl to 0.15.0
- #8305 Update net-ftp to JRuby-compatible 0.3.7
- #8306 Properly fall back if can't setAccessible
- #8309 Default Windows filesystem encoding to UTF-8
- #8310 Enhance reflective pid-getting for Windows Java 8+
JRuby 9.3.15.0 Released
The JRuby community is pleased to announce the release of JRuby 9.3.15.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.
This release only fixes a single problem. "AOT" compiled ruby (using jrubyc) had an uncommon race condition which led to strange endless looping behavior.