|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: JRuby 10.0.4.0 Released |
| 4 | +--- |
| 5 | + |
| 6 | +The JRuby community is pleased to announce the release of JRuby 10.0.4.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.0.4.x targets Ruby 3.4 compatibility. |
| 12 | + |
| 13 | +Thank you to our contributors this release, you help keep JRuby moving forward! [@evaniainbrooks], [@katafrakt], [@mrnoname1000] |
| 14 | + |
| 15 | +Standard Library |
| 16 | +---------------- |
| 17 | + |
| 18 | +* The syslog library moves to bundled gems. ([#9198]) |
| 19 | +* The unicode_normalize library is now thread-safely loaded as an internal library ([#9231], [#9232]) |
| 20 | + |
| 21 | +### 43 Issues and PRs resolved for 10.0.4.0 |
| 22 | + |
| 23 | +- #8697 [Tracing `:call` doesn't work if the traced code is running on a different thread][#8697] |
| 24 | +- #8876 [`import_methods` doesn't allow calling another refined method][#8876] |
| 25 | +- #9120 [`File.path` doesn't raise `Encoding::CompatibilityError` for ASCII-incompatible string][#9120] |
| 26 | +- #9195 [Refactor keyword arguments logic][#9195] |
| 27 | +- #9198 [Move syslog to bundled gems][#9198] |
| 28 | +- #9206 [Fix exception message when calling import_methods without a Module][#9206] |
| 29 | +- #9208 [Inconsistency with block parameter default value][#9208] |
| 30 | +- #9211 [Fix block argument destructuring with optional parameters][#9211] |
| 31 | +- #9212 [Fix method owner when using import_methods][#9212] |
| 32 | +- #9213 [Make `refine` method of `Module` private][#9213] |
| 33 | +- #9214 [Data.define single-attribute class rejects positional arguments][#9214] |
| 34 | +- #9215 [Ignore empty kwrest in Data subtypes' constructors][#9215] |
| 35 | +- #9217 [Add an error for running jruby.sh from a broken JRUBY_HOME][#9217] |
| 36 | +- #9218 [JavaFX AnimationTimer + Mutex.synchronize triggers “deadlock; lock already owned by another fiber belonging to the same thread” on JRuby 10.0.3.0][#9218] |
| 37 | +- #9222 [String interpolation of `BasicObject` object raises `NameError` instead of `NoMethodError`][#9222] |
| 38 | +- #9224 [ClassCastException handling kwargs in Struct][#9224] |
| 39 | +- #9225 [Expand Data initialize empty kwargs fix to Struct][#9225] |
| 40 | +- #9226 [Narrow deadlock check for sibling fibers locking mutex][#9226] |
| 41 | +- #9227 [Version output may not accurately represent JIT mode][#9227] |
| 42 | +- #9228 [Fix version output to reflect current runtime][#9228] |
| 43 | +- #9230 [Use normal call type error for missing dynamic string to_s][#9230] |
| 44 | +- #9231 [Thread safety of require and implications on stdlib string.normalize()][#9231] |
| 45 | +- #9232 [Internalize and threadsafetify String#unicode_normalize][#9232] |
| 46 | +- #9237 [Fix for import_methods does not allow calling another refined method][#9237] |
| 47 | +- #9240 [Fix for File.path doesn't raise Encoding::CompatibilityError for ASCII incompatible string][#9240] |
| 48 | +- #9241 [`Data#to_h` and `Data#deconstruct` return values in wrong order when module overrides `initialize` in a subclassed Data class][#9241] |
| 49 | +- #9242 [Spurious Struct#initialize keyword argument warning (and crash) with `...` forwarding through `super`][#9242] |
| 50 | +- #9243 [`Data#==`/`Data#eql?` and `Struct#eql?` return false when instances are `extend`ed in `initialize`][#9243] |
| 51 | +- #9244 [Fix for ClassCastException inside Struct#initialize when delegating ... from a prepended module][#9244] |
| 52 | +- #9247 [Fix Array#slice raises a RangeError when the start index is out of range of Fixnum][#9247] |
| 53 | +- #9248 [Additional fixes for import_methods with JIT][#9248] |
| 54 | +- #9252 [Use prepared accessors to retrieve Data fields][#9252] |
| 55 | +- #9254 [Compare "real" classes for Data#== and eql?][#9254] |
| 56 | +- #9258 [`Kernel#respond_to?` fails if `#respond_to_missing?` is not defined][#9258] |
| 57 | +- #9259 [Only set locking thread once successful][#9259] |
| 58 | +- #9260 [Restore Cleaner API use for embedding cleanup][#9260] |
| 59 | +- #9272 [Avoid passing bogus -classpath when empty][#9272] |
| 60 | +- #9280 [Check if respond_to_missing? exists before respond_to?][#9280] |
| 61 | +- #9281 [unexpected ArgumentError: wrong number of arguments][#9281] |
| 62 | +- #9283 [Only localize TracePoint to thread if specified][#9283] |
| 63 | +- #9285 [Clear callInfo so it does not taint other calls][#9285] |
| 64 | +- #9289 [Include gem extension stubs in stdlib artifacts][#9289] |
| 65 | +- #9290 [Improve dist verification][#9290] |
| 66 | + |
| 67 | +[#8697]:https://github.com/jruby/jruby/issues/8697 |
| 68 | +[#8876]:https://github.com/jruby/jruby/issues/8876 |
| 69 | +[#9120]:https://github.com/jruby/jruby/issues/9120 |
| 70 | +[#9195]:https://github.com/jruby/jruby/pull/9195 |
| 71 | +[#9198]:https://github.com/jruby/jruby/pull/9198 |
| 72 | +[#9206]:https://github.com/jruby/jruby/pull/9206 |
| 73 | +[#9208]:https://github.com/jruby/jruby/issues/9208 |
| 74 | +[#9211]:https://github.com/jruby/jruby/pull/9211 |
| 75 | +[#9212]:https://github.com/jruby/jruby/pull/9212 |
| 76 | +[#9213]:https://github.com/jruby/jruby/pull/9213 |
| 77 | +[#9214]:https://github.com/jruby/jruby/issues/9214 |
| 78 | +[#9215]:https://github.com/jruby/jruby/pull/9215 |
| 79 | +[#9217]:https://github.com/jruby/jruby/pull/9217 |
| 80 | +[#9218]:https://github.com/jruby/jruby/issues/9218 |
| 81 | +[#9222]:https://github.com/jruby/jruby/issues/9222 |
| 82 | +[#9224]:https://github.com/jruby/jruby/issues/9224 |
| 83 | +[#9225]:https://github.com/jruby/jruby/pull/9225 |
| 84 | +[#9226]:https://github.com/jruby/jruby/pull/9226 |
| 85 | +[#9227]:https://github.com/jruby/jruby/issues/9227 |
| 86 | +[#9228]:https://github.com/jruby/jruby/pull/9228 |
| 87 | +[#9230]:https://github.com/jruby/jruby/pull/9230 |
| 88 | +[#9231]:https://github.com/jruby/jruby/issues/9231 |
| 89 | +[#9232]:https://github.com/jruby/jruby/pull/9232 |
| 90 | +[#9237]:https://github.com/jruby/jruby/pull/9237 |
| 91 | +[#9240]:https://github.com/jruby/jruby/pull/9240 |
| 92 | +[#9241]:https://github.com/jruby/jruby/issues/9241 |
| 93 | +[#9242]:https://github.com/jruby/jruby/issues/9242 |
| 94 | +[#9243]:https://github.com/jruby/jruby/issues/9243 |
| 95 | +[#9244]:https://github.com/jruby/jruby/pull/9244 |
| 96 | +[#9247]:https://github.com/jruby/jruby/pull/9247 |
| 97 | +[#9248]:https://github.com/jruby/jruby/pull/9248 |
| 98 | +[#9252]:https://github.com/jruby/jruby/pull/9252 |
| 99 | +[#9254]:https://github.com/jruby/jruby/pull/9254 |
| 100 | +[#9258]:https://github.com/jruby/jruby/issues/9258 |
| 101 | +[#9259]:https://github.com/jruby/jruby/pull/9259 |
| 102 | +[#9260]:https://github.com/jruby/jruby/pull/9260 |
| 103 | +[#9272]:https://github.com/jruby/jruby/pull/9272 |
| 104 | +[#9280]:https://github.com/jruby/jruby/pull/9280 |
| 105 | +[#9281]:https://github.com/jruby/jruby/issues/9281 |
| 106 | +[#9283]:https://github.com/jruby/jruby/pull/9283 |
| 107 | +[#9285]:https://github.com/jruby/jruby/pull/9285 |
| 108 | +[#9289]:https://github.com/jruby/jruby/pull/9289 |
| 109 | +[#9290]:https://github.com/jruby/jruby/pull/9290 |
| 110 | +[@evaniainbrooks]:https://github.com/evaniainbrooks |
| 111 | +[@katafrakt]:https://github.com/katafrakt |
| 112 | +[@mrnoname1000]:https://github.com/mrnoname1000 |
0 commit comments