The JRuby community is pleased to announce the release of JRuby 10.0.3.0. - Homepage: https://www.jruby.org/ - Download: https://www.jruby.org/download JRuby 10.0.3.x targets Ruby 3.4 compatibility. Thank you to our contributors this release, you help keep JRuby moving forward! @mrnoname1000, @ngr-ilmarh, @Earlopain, @philr, @jotamartos, @kares, @aleksandrs-ledovskis, @trinistr, @katafrakt, @chadlwilson, @khasinski, @evaniainbrooks Compatibility - JRuby now reports RbConfig::CONFIG['arch'] without a version number, as universal-java. This allows using different JDK versions without triggering RubyGems missing extension warnings for installed gems. The host Java version is still available as RbConfig::CONFIG['arch_version']. #9107 Standard Library - The non-gem standard library is upgraded to Ruby 3.4.5 #8967 - rexml is updated to 3.4.4 to address CVE-2025-58767. #9011 - syslog is moved to a default gem at version 0.4.0. The syslog gem now includes JRuby support. #9109, ruby/syslog#1 - strscan is updated to 3.1.7. #9159 Documentation - Ruby ri documentation for core and standard library are now included in the release distribution. #9049, #9052 All Issues/PRs #8707 WARNING: A terminally deprecated method in sun.misc.Unsafe has been called #8727 Cannot install latest rubocop #8730 Launcher: Defensive fixes #8758 Require is not working for .class file if the class is inside a module since 9.3.0 #8810 Possible fix for 8809 #8923 NameError for autoloaded constant with private_constant #8934 JRuby under Java 22+ always thinks it's running under a TTY #8940 Verify to_s is string or fall back on anyToString #8947 New check for System.console tty on JDK 22+ #8955 Range#count always returns size for Integer bounds #8956 Handle argument or block passed to Range#count #8958 Concurrent requires can lead to StringIndexOutOfBoundsException #8960 Fix index -1 error while searching for feature path #8962 Upgrade polyglot and remove openssl lib hack #8967 Update stdlib to 3.4.5 and clean up old files #8975 Use RuboCop to clean up poms (10.x) #8976 Regression in keyword argument matching in JRuby v10.0.1.0 #8978 Additional fixes for scheme-based globbing #8984 glob refactoring #8985 Fix language spec where error string changed #8987 InvokeDynamicSupport.findVirtual fails with IllegalAccessException: symbolic reference class is not accessible #8989 Explicitly request access before Lookup.find* #8994 autoload + private_constant do not play well together #8995 private_constant should just update existing autoload #8996 Avoid binding unreadable modules' classes #8998 Time#localtime incorrectly treats zero offset as UTC (regression in v10.0.2.0) #9006 Consider .class a source extension during search #9007 Handle warn(foo, uplevel: nil) #9009 Encoding a string with undefined chars fails with NoMethodError #9010 Fix "+00:00" and 0 being treated as UTC by Time#localtime and Time.at #9011 Update rexml gem to solve CVE-2025-58767 #9016 [fix] regression calling static hash() method on Java proxy #9017 can not use Java class with static hash() method #9018 Parser does not convert newlines reading \r\n on Windows #9019 We need to remove \r from heredoc strings #9021 Retire safe double processing utilities #9024 Move all main classes to org.jruby.main package #9027 Add "since" to bare Deprecated annotations #9035 IO#read does not clear code-range for buffer argument #9036 fix: clear code-range when re-using a string buffer #9038 Add opens and native access to all jar manifests #9039 Update all jnr dependencies #9041 Migrate .java-version contents to .jruby.release #9049 ri docs are not available for core #9050 Marshal fails to load an encoding with an encoding ivar #9051 Ignore encoding when unmarshaling an Encoding #9052 Download and include in dist CRuby's rdoc data #9058 Implement efficient unshifting #9059 Reserve extra space before elements when unshifting #9063 Hash’s compare_by_identity state does not marshal #9065 Preserve compare_by_identity for marshaled Hash #9068 Windows CI spec runs #9073 fix: Permit overriding of JSA file location using ENV variable #9084 object_id improvements #9094 Implement GC.config [Ruby 3.4] #9097 Update jruby-openssl to v0.15.5 to resolve BouncyCastle 1.79 vulnerability (sonatype-2025-001911). #9098 Fix CoverageData.mergeLines when coverage increases #9101 Cached fixnums for immediate values #9103 Update jruby-openssl to 0.15.5 #9106 Use smaller default size for many collections #9107 Separate Java version out of rbconfig 'arch' #9108 Tidy up default gems #9109 Switch to syslog gem #9110 Calling inspect on proc resets line in source_location #9112 Prevent modifying state in RubyProc #9117 Add file path to error message when unlinking non-existing file #9122 Unexpected jruby.sh error messages on Windows #9127 fix(launcher): correct parsing of java release files under Bash/msys2 etc on Windows #9138 Copy Data type's var table manager with new realClass #9141 refactorings and cleanup motivated by error-prone #9142 Change GC's methods from module_function to metaclass methods #9145 Never trust external content for FString #9152 Marshal.dump corruption for large Array structures #9157 bump included gems #9158 Use same key match for containsKey #9159 Update strscan to 3.1.7 #9182 Fix NoMethodError when encoding with invalid: :replace option #9188 Different arguments for each.map vs each and map alone (10.0) #9189 Fixes #8952. Nest it should be different its #9190 Backport implicit local variable fixes from 10.1 #9191 Fixes #8952. Nested 'it' behavior broken #9192 Stab at Fixing #8976 #9194 BigDecimal#+, #-, #add, #sub always try to cast result of coercion to RubyBigDecimal #9196 require "bigdecimal" does not install BigDecimal() if it was called previously #9199 Output formatting differences between jRuby 10.0.0.1 and Ruby 3.4 when converting Float to JSON #9200 Extract float formatting into a static method to use with to_json #9203 Invalidate method caches from generated populators #9204 Fix BigDecimal#+, #-, #add, #sub failing when coercing doesn’t return a BigDecimal #9205 Fix encoding fallback error handling and error message formatting -- blog: http://blog.enebo.com twitter: tom_enebo mail: tom.enebo@gmail.com