|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: JRuby 9.4.7.0 Released |
| 4 | +--- |
| 5 | + |
| 6 | +The JRuby community is pleased to announce the release of JRuby 9.4.7.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 9.4.x targets Ruby 3.1 compatibility. |
| 12 | + |
| 13 | +Thank you to our contributors this release, you help keep JRuby moving forward! [@kares], [@ryannevell], [@jsvd] |
| 14 | + |
| 15 | +Ruby Compatibility |
| 16 | +------------------ |
| 17 | + |
| 18 | +* Many edge cases in language compatibility have been fixed. [#7440], [#8128], [#8192], [#8193], [#8195], [#8197], [#8198] |
| 19 | + |
| 20 | +Standard Library |
| 21 | +---------------- |
| 22 | + |
| 23 | +* jruby-openssl is updated to 0.14.5 |
| 24 | +* rdoc is updated to 6.4.1.1 |
| 25 | +* Warnings due to method aliasing in the ostruct library have been mitigated. [#8200], [#8206] |
| 26 | + |
| 27 | +JVM Integration |
| 28 | +--------------- |
| 29 | + |
| 30 | +* Ruby classes that are "reified" into a Java class and later redefined can be "re-reified" to a new Java class with an incrementing version number. [#8141], [#8185] |
| 31 | +* Java objects from other classloaders can pollute the `Java::` namespace. This behavior can be disabled now, and will be disabled by default in JRuby 10. [#8156], [#8208] |
| 32 | + |
| 33 | + |
| 34 | +### 53 Github Issues resolved for 9.4.7.0 |
| 35 | + |
| 36 | +- #7440 [Multiple assignment evaluation order consistency][#7440] |
| 37 | +- #8112 [update this ancient lockfile][#8112] |
| 38 | +- #8113 [Remove long dead torquebox from template Gemfile and update to newer …][#8113] |
| 39 | +- #8114 [one last update to puma version for sample Gemfile][#8114] |
| 40 | +- #8119 [Possible Keyword Argument Regression in 9.4.6.0][#8119] |
| 41 | +- #8121 [Prepending a module to a subclass changes it representation in the superclass#subclasses array][#8121] |
| 42 | +- #8122 [Handle prepend in subclasses][#8122] |
| 43 | +- #8123 [lutimes was passing huge wrong values to function][#8123] |
| 44 | +- #8124 [Method.clone of frozen should stay frozen][#8124] |
| 45 | +- #8125 [Proc#clone of frozen proc should stay frozen][#8125] |
| 46 | +- #8126 [UnboundMethod#clone of frozen UnboundMethod should stay frozen][#8126] |
| 47 | +- #8127 [EncodingError should be SyntaxError for bad symbols?][#8127] |
| 48 | +- #8128 [parameters value for **nil should be nokey][#8128] |
| 49 | +- #8130 [Return proper encoding error string for String#to_c][#8130] |
| 50 | +- #8131 [frozen error handling for remove_instance_variable][#8131] |
| 51 | +- #8132 [test flags for stats need to handle file instances as well as strings][#8132] |
| 52 | +- #8133 [Implement string/eval form of trace_var][#8133] |
| 53 | +- #8134 [Fix various kwarg-related specs in IO#open, File#open and Kernel#open.][#8134] |
| 54 | +- #8135 [Cannot install latest `rubocop`][#8135] |
| 55 | +- #8136 [Redo java commandline calculation to work with newer Java's][#8136] |
| 56 | +- #8138 [[deps] update joda-time to 2.12.7][#8138] |
| 57 | +- #8139 [to_time raise an exception. (class org.jruby.ext.date.RubyDate cannot be cast to class org.jruby.ext.date.RubyDateTime)][#8139] |
| 58 | +- #8141 [can not re-reify sub-class of a Java sub-class][#8141] |
| 59 | +- #8142 [Add-Opens for complete -jar runs as expected in later Java's][#8142] |
| 60 | +- #8144 [Allow extended DateTime to still be constructed using DateTime][#8144] |
| 61 | +- #8148 [Profiler raises 'wrong number of arguments for constructor (ArgumentError)' for the march_hare gem][#8148] |
| 62 | +- #8155 [Concurrently requiring a file from multiple threads may "succeed" even if the file raises an error][#8155] |
| 63 | +- #8156 [JRuby adds Java proxy classes to the Java module even if they are not from JRubyClassLoader][#8156] |
| 64 | +- #8157 [Incorrect case tree selection when comparing Symbols during compiled Ruby code execution][#8157] |
| 65 | +- #8167 [Some simple refactoring but removing some mysterious classcast guards][#8167] |
| 66 | +- #8173 [Coverage doesn't cover `begin`][#8173] |
| 67 | +- #8179 [Thread#pending_interupt? crashes][#8179] |
| 68 | +- #8185 [[ji] support re-reifying class hierarchy][#8185] |
| 69 | +- #8186 [[fix] LoadError on require should not complete load][#8186] |
| 70 | +- #8191 [Rearrange cond0 to behave more like MRI did in 3.1][#8191] |
| 71 | +- #8192 [lhs of compound const would crash if not a Module/Class][#8192] |
| 72 | +- #8193 [side-effects in const op element assign by exec parent of lhs twice][#8193] |
| 73 | +- #8195 [use left to right evaluation][#8195] |
| 74 | +- #8196 [[deps] update jruby-openssl to 0.14.5][#8196] |
| 75 | +- #8197 [END was not getting parents lvars][#8197] |
| 76 | +- #8198 [Give same error message for duplicated case arms][#8198] |
| 77 | +- #8199 [Enumerator#next_values behavior does not match MRI or docs][#8199] |
| 78 | +- #8200 [Warnings emitted by requiring 'ostruct'][#8200] |
| 79 | +- #8201 [Fix issue#8199][#8201] |
| 80 | +- #8202 [do not emit labels which are not used while constructing loops + IGV enhancements][#8202] |
| 81 | +- #8203 [rename all closures to more closely match a name you can read vs CLOSURE_2][#8203] |
| 82 | +- #8204 [bump rdoc dependency to 6.4.1.1][#8204] |
| 83 | +- #8205 [begin node coverage line should not get added if it has been removed][#8205] |
| 84 | +- #8206 [Mark frame-aware method names with bang suffix for ostruct][#8206] |
| 85 | +- #8207 [Partially undo kwarg optz from #8095][#8207] |
| 86 | +- #8208 [Only set up Java:: constants when accessed directly][#8208] |
| 87 | +- #8209 [opted case needs to use updated ints when loaded into new runtime.][#8209] |
| 88 | +- #8211 [Always unwrap old initialize methods][#8211] |
| 89 | + |
| 90 | + |
| 91 | +[@jsvd]:https://github.com/jsvd |
| 92 | +[@ryannevell]:https://github.com/ryannevell |
| 93 | +[@kares]:https://github.com/kares |
| 94 | + |
| 95 | +[#7440]:https://github.com/jruby/jruby/issues/7440 |
| 96 | +[#8112]:https://github.com/jruby/jruby/pull/8112 |
| 97 | +[#8113]:https://github.com/jruby/jruby/pull/8113 |
| 98 | +[#8114]:https://github.com/jruby/jruby/pull/8114 |
| 99 | +[#8119]:https://github.com/jruby/jruby/issues/8119 |
| 100 | +[#8121]:https://github.com/jruby/jruby/issues/8121 |
| 101 | +[#8122]:https://github.com/jruby/jruby/pull/8122 |
| 102 | +[#8123]:https://github.com/jruby/jruby/pull/8123 |
| 103 | +[#8124]:https://github.com/jruby/jruby/pull/8124 |
| 104 | +[#8125]:https://github.com/jruby/jruby/pull/8125 |
| 105 | +[#8126]:https://github.com/jruby/jruby/pull/8126 |
| 106 | +[#8127]:https://github.com/jruby/jruby/pull/8127 |
| 107 | +[#8128]:https://github.com/jruby/jruby/pull/8128 |
| 108 | +[#8130]:https://github.com/jruby/jruby/pull/8130 |
| 109 | +[#8131]:https://github.com/jruby/jruby/pull/8131 |
| 110 | +[#8132]:https://github.com/jruby/jruby/pull/8132 |
| 111 | +[#8133]:https://github.com/jruby/jruby/pull/8133 |
| 112 | +[#8134]:https://github.com/jruby/jruby/pull/8134 |
| 113 | +[#8135]:https://github.com/jruby/jruby/issues/8135 |
| 114 | +[#8136]:https://github.com/jruby/jruby/pull/8136 |
| 115 | +[#8138]:https://github.com/jruby/jruby/pull/8138 |
| 116 | +[#8139]:https://github.com/jruby/jruby/issues/8139 |
| 117 | +[#8141]:https://github.com/jruby/jruby/issues/8141 |
| 118 | +[#8142]:https://github.com/jruby/jruby/pull/8142 |
| 119 | +[#8144]:https://github.com/jruby/jruby/pull/8144 |
| 120 | +[#8148]:https://github.com/jruby/jruby/issues/8148 |
| 121 | +[#8155]:https://github.com/jruby/jruby/issues/8155 |
| 122 | +[#8156]:https://github.com/jruby/jruby/issues/8156 |
| 123 | +[#8157]:https://github.com/jruby/jruby/issues/8157 |
| 124 | +[#8167]:https://github.com/jruby/jruby/pull/8167 |
| 125 | +[#8173]:https://github.com/jruby/jruby/issues/8173 |
| 126 | +[#8179]:https://github.com/jruby/jruby/pull/8179 |
| 127 | +[#8185]:https://github.com/jruby/jruby/pull/8185 |
| 128 | +[#8186]:https://github.com/jruby/jruby/pull/8186 |
| 129 | +[#8191]:https://github.com/jruby/jruby/pull/8191 |
| 130 | +[#8192]:https://github.com/jruby/jruby/pull/8192 |
| 131 | +[#8193]:https://github.com/jruby/jruby/pull/8193 |
| 132 | +[#8195]:https://github.com/jruby/jruby/pull/8195 |
| 133 | +[#8196]:https://github.com/jruby/jruby/pull/8196 |
| 134 | +[#8197]:https://github.com/jruby/jruby/pull/8197 |
| 135 | +[#8198]:https://github.com/jruby/jruby/pull/8198 |
| 136 | +[#8199]:https://github.com/jruby/jruby/issues/8199 |
| 137 | +[#8200]:https://github.com/jruby/jruby/issues/8200 |
| 138 | +[#8201]:https://github.com/jruby/jruby/pull/8201 |
| 139 | +[#8202]:https://github.com/jruby/jruby/pull/8202 |
| 140 | +[#8203]:https://github.com/jruby/jruby/pull/8203 |
| 141 | +[#8204]:https://github.com/jruby/jruby/pull/8204 |
| 142 | +[#8205]:https://github.com/jruby/jruby/pull/8205 |
| 143 | +[#8206]:https://github.com/jruby/jruby/pull/8206 |
| 144 | +[#8207]:https://github.com/jruby/jruby/pull/8207 |
| 145 | +[#8208]:https://github.com/jruby/jruby/pull/8208 |
| 146 | +[#8209]:https://github.com/jruby/jruby/pull/8209 |
| 147 | +[#8211]:https://github.com/jruby/jruby/pull/8211 |
0 commit comments