[ruby-talk:444773] [ANN] JRuby 10.0.3.0 Released

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

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

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