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