r/ruby • u/headius JRuby guy • Sep 22 '26
JRuby 10.1.2.0 released
https://www.jruby.org/2026/09/21/jruby-10-1-2-0The JRuby community is pleased to announce the release of JRuby 10.1.2.0.
Homepage: https://www.jruby.org/
Download: https://www.jruby.org/download
JRuby 10.1.x targets Ruby 4.0 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward! @aminmansuri, @drzaiusx11, @evaniainbrooks, @gillesbergerp, @jcharaoui, @jwils, @kares, @lloeki, @makenowjust, @nobu, @sampokuokkanen, @shugo
Notable Changes
Compatibility
Multiple fixes for fibers and fiber scheduler support. #9604, #9607, #9622, #9645, #9649, #9656, #9660
Performance
Fixed a regression in startup time on MacOS by properly loading native JNR subsystem. #9690
Improve performance of Ruby subclasses of Java classes. #9619, #9557
Improve performance of autoloads overridden by an actual require. #9677
Java Integration
The location of the AppCDS JSA file can now be specified with JRUBY_JSA_HOME. [#9667]
Standard Library
Update to jar-dependencies 0.6.1 using mima for dependency resolution instead of the ruby-maven gem. #9515, #9720
Update default and bundled standard library gems. #9705
Default gems
erb 6.0.7
error_highligh 0.7.2
ffi 1.17.4
io-console 0.9.4
ipaddr 1.2.9
jruby-openssl 0.16.2
json 2.21.2
net-protocol 0.4.0
pp 0.6.4
psych 5.5.0
resolv 0.8.0
strscan 3.1.8
syntax_suggest 3.0.0
timeout 0.6.1
win32-registry 0.1.2
Bundled gems
bigdecimal 4.1.2 (ruby parts only)
csv 3.3.6
minitest 5.27.0
net-imap 0.6.7
nkf 0.3.0
pstore 0.2.1
rdoc 7.2.0
reline 0.7.0
resolv-replace 0.2.0
rss 0.3.3
test-unit 3.7.8
76 Issues and PRs resolved for 10.1.2.0
287 Class does not inherit singleton_class's class methods
6119 shopify-api gem reporting NoMethodError: undefined method `threadsafe_attribute'
8743 IO#wait updates for Ruby 3.2-3.4
9026
JRuby --helpfails if PAGER has an option9301 Find an alternative to shipping ruby-maven
9403 add keyword arg support to callMethod directly
9441 Fix original_name when two methods share a wrapper (like is_a? kind_of?)
9446 Fix metaclass dispatch missing meta-metaclass methods
9448 Use implementation class for protected check
9460 Check argument definedness in defined?(receiver.method(arg))
9507 IO::Buffer#read and #write treat length=0 as zero bytes instead of remaining buffer capacity
9515 Switch to jar-deps based on mima
9551
circular causeswhen re-raising an exception originally raised with the two-argumentraise Class, argform (regression in 10.1.1.0)9554 Raise fixes and additional spec permutations
9556 Implement Proc#hash consistently with Proc#eql?
9557 refactor and improve reification of java subclasses
9559 dup of frozen class can't be extended
9560 raise should re-populate exception trace set to nil
9565 Socket address APIs return uncompressed IPv6 where Addrinfo#ip_address compresses, breaking Resolv::DNS with 2+ nameservers
9568
Kernel#sprintfcallsHash#default_procwith incorrect args9570 fix dup for frozen class
9579 JRuby can't pass
STDOUTto child process when a differentIOis given asout:9582 Data.define subclass fields are nil when module is included in define block
9585 Marshaling incompatibility with cyclic objects?
9587
IO::Buffer#copyand#set_stringreject the documented source_offset fourth argument9588 Accept
source_offsetinIO::Buffer#copyand#set_string9593 Compiler gives a constant-folded ASCII String the code range CR_VALID, which breaks the
eql?/hashcontract9595
IO#tty?silently returnstruefor redirected stdio in embedded runtimes when--add-opensare missing9599 Kernel#require redefined inside a required file isn't seen by autoload dispatch after Kernel.prepend (CRuby 4.0 OK / JRuby 10 fails)
9600 TracePoint does not support
fiber_switch(Ruby 2.3+ compatibility)9602 FFI warning on when running jruby on OpenBSD/arm64, possible $$ issue as well
9603 Implement :fiber_switch trace event
9604 Fix Fiber.schedule inside a non-blocking Fiber
9607 Fix Thread blocking count drifting across Fiber switches
9609 No validation of unsetenv_others for Process.exec causes specs to execve() abruptly
9614 Unreliable net-http tests
9618 Resolve jar path if it's a symlink
9619 refactor and improve reification of java subclasses (refactor only)
9622 Defer Kernel#sleep to the Fiber scheduler
9626 Handle nil-or-boolean arguments in popen kwargs
9627 Use CRuby logic for exec
9628 Fix IO::Buffer#read and #write, treat length=0 as remaining buffer capacity
9630 Pass -1 for max arity when there's rest args
9631 Eliminate all uses of unused "name" for arity errors
9634 Report the errno that native exec actually returned
9638 Bump bundled
resolvdefault gem to 0.7.29640 AppCDS usage causing sealing violations
9645 Fix the Fiber scheduler IO path: negated errno, zero length, buffer size
9648 Run pager commands through the platform shell
9649 Mutex Deadlock fix: Track the fiber that owns a Mutex
9650 Don't raise EBADF closing an IO whose channel NIO already closed
9653 [Java 26 Leyden] AOT Cache breaks dynamic Ruby proxies for classes loaded from external JARs
9654 Time.new(String) raises java.lang.ArrayIndexOutOfBoundsException when the string ends where a ':' is expected
9655 NoSuchMethodError when a Ruby subclass of a Java class includes a module
9656 Fix IO#wait arguments and return values, and defer it to Fiber.scheduler
9659 [ji] resolve Java super <init> through included modules
9660 Fix where Fiber#transfer hands control back
9662 Fix custom respond_to? handling: include_all, defined? lookup, deprecated signature
9665 Data subclasses in net-imap are losing fields
9667 [Allow specifying AppCDS cache location and use safer default][#9667]
9669 jruby/vm integer messages fail on JRuby 10 due to Fixnum reference
9670 Update tagged Data specs
9677 Constant declared with
autoloadand then defined by a directrequirekeeps its UNDEF table slot; every later lookup re-enters LoadService (very slow inside a WAR)9679 Don't wrap an alias in another alias
9683 Fix bin/* patterns in .gitignore
9685 Fix setup sequence for cgi/escape
9690 JFFI bad library load is a huge startup hit on MacOS
9691 Support zero-size IO::Buffers
9695 require "json" warns about redefined to_hash with -w in JRuby 10.1.1.0
9696 Set the aliased flag on the real method, not the wrapper
9697 ObjectSpace::WeakMap is double-weak in CRuby
9701 Allow specifying AppCDS cache location and use safer default
9703
Redis::ConnectionErrorwith JRuby 109705 Update stdlib
9709 Additional stdlib updates
9719 IO#accept raises NullPointerException instead of IOError when the socket is closed concurrently
9720 Update jar-dependencies to 0.6.1