|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: JRuby 10.1.1.0 Released |
| 4 | +--- |
| 5 | + |
| 6 | +The JRuby community is pleased to announce the release of JRuby 10.1.1.0. |
| 7 | + |
| 8 | +* Homepage: [https://www.jruby.org/](https://www.jruby.org/) |
| 9 | +* Download: [https://www.jruby.org/download](https://www.jruby.org/download) |
| 10 | + |
| 11 | +JRuby 10.1.1.x targets Ruby 3.4 compatibility. |
| 12 | + |
| 13 | +Thank you to our contributors this release, you help keep JRuby moving forward! |
| 14 | + |
| 15 | +Notable Changes |
| 16 | +--------------- |
| 17 | + |
| 18 | +### Performance |
| 19 | + |
| 20 | +* Use [FastDoubleParser](https://github.com/wrandelshofer/FastDoubleParser) to improve performance of all string-to-double parsing. [#9150] |
| 21 | +* Only pack fixnum values for 16-bit signed by default, with optional 8-bit and 32-bit configs. [#9379] |
| 22 | + |
| 23 | +### Standard Library |
| 24 | + |
| 25 | +* jruby-openssl updated to 0.16.2 with several CVE fixes from BouncyCastle. [#9386], [#9504], [#9539] |
| 26 | +* erb updated to 6.0.1.1 to address CVE-2026-41316. [#9388] |
| 27 | + |
| 28 | +### Native Integration |
| 29 | + |
| 30 | +* Updated JRuby's native library backend with support for OpenBSD. [#9439] |
| 31 | + |
| 32 | +### Java Integration |
| 33 | + |
| 34 | +* Optimized automatic interface implementation when calling Java with a block. [#5023] |
| 35 | + |
| 36 | +### Packaging |
| 37 | + |
| 38 | + |
| 39 | +* Begin deprecating `jruby-complete` and `jruby-core` Maven artifacts. Prefer the `jruby` and `jruby-base` artifacts. [#9512] |
| 40 | + |
| 41 | +### 57 Issues and PRs resolved for 10.1.1.0 |
| 42 | + |
| 43 | +- #5023 [excessive loading of same InterfaceImpl][#5023] |
| 44 | +- #8184 [remove deprecated (internal) Java code][#8184] |
| 45 | +- #9034 [unused variable warning for blocks][#9034] |
| 46 | +- #9061 [Ruby 4.0 support][#9061] |
| 47 | +- #9150 [Use FastDoubleParser where appropriate][#9150] |
| 48 | +- #9219 [True keyword arguments][#9219] |
| 49 | +- #9320 [Cannot run code that has large Integer in `when` clause][#9320] |
| 50 | +- #9375 [`instance_exec` block argument destructuring when default value passed][#9375] |
| 51 | +- #9376 [Fix destructuring of block argument with default value][#9376] |
| 52 | +- #9379 [Make fixnum packing configurable and disable ints][#9379] |
| 53 | +- #9381 [Shrink RubyHashLinkedBuckets][#9381] |
| 54 | +- #9386 [[deps] bump jruby-openssl to 0.16.0][#9386] |
| 55 | +- #9388 [deps(stdlib): bump erb from 6.0.1 to 6.0.1.1 to resolve CVE-2026-41316][#9388] |
| 56 | +- #9393 [[10.1.0.0] Java::JavaLang::IllegalArgumentException: argument type mismatch][#9393] |
| 57 | +- #9395 [Difference in what `caller` returns in JRuby 10.1 and Ruby 4.0][#9395] |
| 58 | +- #9396 [Remove Class#new from backtrace][#9396] |
| 59 | +- #9398 [JRuby 10.1 `circular causes` failures within nested rescue (e.g rspec's tests)][#9398] |
| 60 | +- #9400 [Don't warn about unused destructured block/method parameters (GH-9034)][#9400] |
| 61 | +- #9404 [Warn on class/const assign in condition][#9404] |
| 62 | +- #9405 [Marshal.load corrupts repeated object reference after Set appears earlier in payload][#9405] |
| 63 | +- #9407 [Refactor Kernel#raise and fix remaining specs][#9407] |
| 64 | +- #9408 [Fix last send_spec with correct message][#9408] |
| 65 | +- #9409 [Ensure core exceptions get raised with $! as cause][#9409] |
| 66 | +- #9410 [Fix Hash#inspect of Symbol keys with non-ASCII encoding][#9410] |
| 67 | +- #9417 [Checking out aws-sdk-ruby creates a file with binary data.][#9417] |
| 68 | +- #9418 [Fix recursive set marshal dump and load][#9418] |
| 69 | +- #9420 [Fix Method/UnboundMethod#original_name deep alias chains][#9420] |
| 70 | +- #9425 [ivarSet missing return after megamorphic fallback][#9425] |
| 71 | +- #9427 [regression for activerecord-jdbcsqlite3-adapter: java.lang.NoSuchMethodError: 'void org.jruby.RubyHash.<init>(org.jruby.Ruby, int)'][#9427] |
| 72 | +- #9435 [Fall back to standard case/when for out-of-int-range Fixnum literals (#9320)][#9435] |
| 73 | +- #9437 [Pathname provides differing error message from MRI in JRuby 10.1.0.0][#9437] |
| 74 | +- #9439 [Update jffi for aarch64 OpenBSD][#9439] |
| 75 | +- #9442 [Use proper error text for nulls in path name][#9442] |
| 76 | +- #9445 [Reject invalid $0-prefixed global variable names like $01, $0abc][#9445] |
| 77 | +- #9447 [Improve alias redefinition warnings][#9447] |
| 78 | +- #9450 [Reverse aliasing warns when it should not][#9450] |
| 79 | +- #9456 [Restore RubyHash(Ruby, int) for older ARJDBC versions][#9456] |
| 80 | +- #9459 [[fix] rename RubyHash#set(get) to avoid collision][#9459] |
| 81 | +- #9462 [Regression in JRuby 10.1 with Prawn][#9462] |
| 82 | +- #9470 [Clean up more divergent keyword logic][#9470] |
| 83 | +- #9473 [Shade redline to avoid conflicting with external versions][#9473] |
| 84 | +- #9488 [Support backtrace_locations with Java exceptions][#9488] |
| 85 | +- #9495 [No need to check for virtual thread API availability][#9495] |
| 86 | +- #9501 [Fix CALL_KEYWORD_EMPTY leaking from (...) forwards to native methods][#9501] |
| 87 | +- #9503 [avoid setting $! from RaiseException <init>][#9503] |
| 88 | +- #9504 [[deps] bump jruby-openssl to 0.16.1][#9504] |
| 89 | +- #9511 [Update jnr:* and asm to latest][#9511] |
| 90 | +- #9512 [Begin deprecating jruby-complete and jruby-core][#9512] |
| 91 | +- #9520 [defined?(...) in eval'd for loop fails with TypeError][#9520] |
| 92 | +- #9523 [Don't copy the singleton class in Proc#dup][#9523] |
| 93 | +- #9539 [Update jruby-openssl to 0.16.2][#9539] |
| 94 | +- #9540 [Merge 10.0][#9540] |
| 95 | +- #9541 [NoMatchingPatternError#=== doesn't match instance of NoMatchingPatternKeyError][#9541] |
| 96 | +- #9543 [Time.new(string, in: ...) raises TypeError on the third call at a call site (JIT only)][#9543] |
| 97 | +- #9545 [Add a warning for nonuniform keywords annotations][#9545] |
| 98 | +- #9546 [Prism backend raises wrong error for pattern key mismatch][#9546] |
| 99 | +- #9547 [Merge jruby-prism fix for NoPatternKeyError][#9547] |
| 100 | + |
| 101 | +[#5023]:https://github.com/jruby/jruby/issues/5023 |
| 102 | +[#8184]:https://github.com/jruby/jruby/pull/8184 |
| 103 | +[#9034]:https://github.com/jruby/jruby/issues/9034 |
| 104 | +[#9061]:https://github.com/jruby/jruby/issues/9061 |
| 105 | +[#9150]:https://github.com/jruby/jruby/pull/9150 |
| 106 | +[#9219]:https://github.com/jruby/jruby/pull/9219 |
| 107 | +[#9320]:https://github.com/jruby/jruby/issues/9320 |
| 108 | +[#9375]:https://github.com/jruby/jruby/issues/9375 |
| 109 | +[#9376]:https://github.com/jruby/jruby/pull/9376 |
| 110 | +[#9379]:https://github.com/jruby/jruby/pull/9379 |
| 111 | +[#9381]:https://github.com/jruby/jruby/pull/9381 |
| 112 | +[#9386]:https://github.com/jruby/jruby/pull/9386 |
| 113 | +[#9388]:https://github.com/jruby/jruby/pull/9388 |
| 114 | +[#9393]:https://github.com/jruby/jruby/issues/9393 |
| 115 | +[#9395]:https://github.com/jruby/jruby/issues/9395 |
| 116 | +[#9396]:https://github.com/jruby/jruby/pull/9396 |
| 117 | +[#9398]:https://github.com/jruby/jruby/issues/9398 |
| 118 | +[#9400]:https://github.com/jruby/jruby/pull/9400 |
| 119 | +[#9404]:https://github.com/jruby/jruby/pull/9404 |
| 120 | +[#9405]:https://github.com/jruby/jruby/issues/9405 |
| 121 | +[#9407]:https://github.com/jruby/jruby/pull/9407 |
| 122 | +[#9408]:https://github.com/jruby/jruby/pull/9408 |
| 123 | +[#9409]:https://github.com/jruby/jruby/pull/9409 |
| 124 | +[#9410]:https://github.com/jruby/jruby/pull/9410 |
| 125 | +[#9417]:https://github.com/jruby/jruby/issues/9417 |
| 126 | +[#9418]:https://github.com/jruby/jruby/pull/9418 |
| 127 | +[#9420]:https://github.com/jruby/jruby/pull/9420 |
| 128 | +[#9425]:https://github.com/jruby/jruby/pull/9425 |
| 129 | +[#9427]:https://github.com/jruby/jruby/issues/9427 |
| 130 | +[#9435]:https://github.com/jruby/jruby/pull/9435 |
| 131 | +[#9437]:https://github.com/jruby/jruby/issues/9437 |
| 132 | +[#9439]:https://github.com/jruby/jruby/issues/9439 |
| 133 | +[#9442]:https://github.com/jruby/jruby/pull/9442 |
| 134 | +[#9445]:https://github.com/jruby/jruby/pull/9445 |
| 135 | +[#9447]:https://github.com/jruby/jruby/pull/9447 |
| 136 | +[#9450]:https://github.com/jruby/jruby/issues/9450 |
| 137 | +[#9456]:https://github.com/jruby/jruby/pull/9456 |
| 138 | +[#9459]:https://github.com/jruby/jruby/pull/9459 |
| 139 | +[#9462]:https://github.com/jruby/jruby/issues/9462 |
| 140 | +[#9470]:https://github.com/jruby/jruby/pull/9470 |
| 141 | +[#9473]:https://github.com/jruby/jruby/pull/9473 |
| 142 | +[#9488]:https://github.com/jruby/jruby/issues/9488 |
| 143 | +[#9495]:https://github.com/jruby/jruby/pull/9495 |
| 144 | +[#9501]:https://github.com/jruby/jruby/pull/9501 |
| 145 | +[#9503]:https://github.com/jruby/jruby/pull/9503 |
| 146 | +[#9504]:https://github.com/jruby/jruby/pull/9504 |
| 147 | +[#9511]:https://github.com/jruby/jruby/pull/9511 |
| 148 | +[#9512]:https://github.com/jruby/jruby/pull/9512 |
| 149 | +[#9520]:https://github.com/jruby/jruby/issues/9520 |
| 150 | +[#9523]:https://github.com/jruby/jruby/pull/9523 |
| 151 | +[#9539]:https://github.com/jruby/jruby/issues/9539 |
| 152 | +[#9540]:https://github.com/jruby/jruby/pull/9540 |
| 153 | +[#9541]:https://github.com/jruby/jruby/issues/9541 |
| 154 | +[#9543]:https://github.com/jruby/jruby/issues/9543 |
| 155 | +[#9545]:https://github.com/jruby/jruby/pull/9545 |
| 156 | +[#9546]:https://github.com/jruby/jruby/issues/9546 |
| 157 | +[#9547]:https://github.com/jruby/jruby/pull/9547 |
0 commit comments