Author: The JRuby Team
Source
The JRuby community is pleased to announce the release of JRuby 9.4.7.0.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.4.x targets Ruby 3.1 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward! @kares, @ryannevell, @jsvd
Ruby Compatibility
- Many edge cases in language compatibility have been fixed. #7440, #8128, #8192, #8193, #8195, #8197, #8198
Standard Library
- jruby-openssl is updated to 0.14.5
- rdoc is updated to 6.4.1.1
- Warnings due to method aliasing in the ostruct library have been mitigated. #8200, #8206
JVM Integration
- 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
- 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
53 Github Issues resolved for 9.4.7.0
- #7440 Multiple assignment evaluation order consistency
- #8112 update this ancient lockfile
- #8113 Remove long dead torquebox from template Gemfile and update to newer …
- #8114 one last update to puma version for sample Gemfile
- #8119 Possible Keyword Argument Regression in 9.4.6.0
- #8121 Prepending a module to a subclass changes it representation in the superclass#subclasses array
- #8122 Handle prepend in subclasses
- #8123 lutimes was passing huge wrong values to function
- #8124 Method.clone of frozen should stay frozen
- #8125 Proc#clone of frozen proc should stay frozen
- #8126 UnboundMethod#clone of frozen UnboundMethod should stay frozen
- #8127 EncodingError should be SyntaxError for bad symbols?
- #8128 parameters value for **nil should be nokey
- #8130 Return proper encoding error string for String#to_c
- #8131 frozen error handling for remove_instance_variable
- #8132 test flags for stats need to handle file instances as well as strings
- #8133 Implement string/eval form of trace_var
- #8134 Fix various kwarg-related specs in IO#open, File#open and Kernel#open.
- #8135 Cannot install latest
rubocop
- #8136 Redo java commandline calculation to work with newer Java’s
- #8138 [deps] update joda-time to 2.12.7
- #8139 to_time raise an exception. (class org.jruby.ext.date.RubyDate cannot be cast to class org.jruby.ext.date.RubyDateTime)
- #8141 can not re-reify sub-class of a Java sub-class
- #8142 Add-Opens for complete -jar runs as expected in later Java’s
- #8144 Allow extended DateTime to still be constructed using DateTime
- #8148 Profiler raises ‘wrong number of arguments for constructor (ArgumentError)’ for the march_hare gem
- #8155 Concurrently requiring a file from multiple threads may “succeed” even if the file raises an error
- #8156 JRuby adds Java proxy classes to the Java module even if they are not from JRubyClassLoader
- #8157 Incorrect case tree selection when comparing Symbols during compiled Ruby code execution
- #8167 Some simple refactoring but removing some mysterious classcast guards
- #8173 Coverage doesn’t cover
begin
- #8179 Thread#pending_interupt? crashes
- #8185 [ji] support re-reifying class hierarchy
- #8186 [fix] LoadError on require should not complete load
- #8191 Rearrange cond0 to behave more like MRI did in 3.1
- #8192 lhs of compound const would crash if not a Module/Class
- #8193 side-effects in const op element assign by exec parent of lhs twice
- #8195 use left to right evaluation
- #8196 [deps] update jruby-openssl to 0.14.5
- #8197 END was not getting parents lvars
- #8198 Give same error message for duplicated case arms
- #8199 Enumerator#next_values behavior does not match MRI or docs
- #8200 Warnings emitted by requiring ‘ostruct’
- #8201 Fix issue#8199
- #8202 do not emit labels which are not used while constructing loops + IGV enhancements
- #8203 rename all closures to more closely match a name you can read vs CLOSURE_2
- #8204 bump rdoc dependency to 6.4.1.1
- #8205 begin node coverage line should not get added if it has been removed
- #8206 Mark frame-aware method names with bang suffix for ostruct
- #8207 Partially undo kwarg optz from #8095
- #8208 Only set up Java:: constants when accessed directly
- #8209 opted case needs to use updated ints when loaded into new runtime.
- #8211 Always unwrap old initialize methods