[ANN] JRuby 9.3.4.0 Released

The JRuby community is pleased to announce the release of JRuby 9.3.4.0

  - Homepage: https://www.jruby.org/
  - Download: Downloads — JRuby.org

JRuby 9.3.x is compatible with Ruby 2.6.x and stays in sync with C Ruby. As
always there is a mix of miscellaneous fixes so be sure to read the issue
list below.

Thanks to our contributors this cycle for helping to improve compatibility:
@ahorek, @byteit101, @k77ch7
Ruby Compatibility

  - define_singleton_method now always uses public visibility. This
simplifies its implementation and eliminates warnings when aliasing it, as
in the ostruct gem. (ruby/ostruct#40, #7031, #7055)

Java Integration

  - The import method for importing Java classes remains deprecated for
removal in 9.4, but now provides a better warning with a source location.
(#6976)
    Ruby subclasses of Java classes and Ruby classes converted into Java
classes can now include instance variables that are accessible from Java as
normal fields. This improves integration with Java frameworks that use
reflection to access object state. (#7012)

Hardware Support

  - Generated make files now properly set the platform architecture when
running on Linux/aarch64 and Apple’s M1 family of CPUs. This allows sassc
and other non-extension C-based gems to build and install properly.
(sass/sassc-ruby#231, #7132, #7133)

Standard Library

  - ostruct is updated to 0.5.1, which fixes warnings in verbose mode
loading the json library. ([#6831], [#6963])
  - logger is updated to 1.5.1, which fixes a log rotation locking issue
on Windows. (ruby/logger#67, ruby/logger#68, #7038)
  - Socket IPv6 constants are now always defined regardless of platform
support, matching CRuby and JRuby 9.2. (#7069, #7071)

33 Github Issues resolved for 9.3.4.0

    #6976 - [Better error/notification message] “calling java_import on a
non-Module object is deprecated”
    #7009 - Break in block passed to Thread doesn’t cause LocalJumpError
    #7012 - Allow reified classes to store instance variables in raw fields
    #7016 - Compile splatted rescue as splat
    #7018 - New string literals are marked as tainted if previously equal
tainted strings were read from a file
    #7020 - Avoid interning tainted strings
    #7029 - Handle unrooted break jumps in Thread
    #7031 - warning: OpenStruct#define_singleton_method accesses caller
method’s state and should not be aliased
    #7035 - Circular exception causes break JRuby
    #7038 - Log rotation inter-process lock failed, Issue occurs in JRuby
9.3.0.0 and Windows
    #7055 - Explicitly use public visibility for define_singleton_method
    #7056 - Restore 9.2 collect signature and add more API
    #7069 - Socket::PF_INET6 is nil on 9.3 when ipv6 is not available,
unlike with MRI and 9.2
    #7070 - Regression: 9.3 converts LoadError to NameError when
autoloading repeatedly and loading fails and file being loaded is not in
current directory
    #7071 - revert ipv6 availability
    #7074 - Remove the require lock on LoadError
    #7102 - ArgumentError re-splatting empty keyword arguments
    #7104 - Integer#to_s, Integer#to_json includes null character(\x00,
\u0000) on JRuby 9.3.*
    #7111 - Fix #7104
    #7117 - java_signature throws NPE when using positional annotation
arguments
    #7131 - More checking for null fd
    #7132 - Architecture tweaks for JRuby on M1
    #7133 - [aarch64] fix unrecognized command -m64 for native extensions
    #7137 - Range#=== should not accept range argument
    #7138 - Use non-range cover logic for eqq and include
    #7139 - [deps] bump jruby-openssl to latest (0.12.2)
    #7142 - Update jcodings
    #7143 - Better warnings for deprecated java_import forms
    #7145 - Disallow circular causes
    #7146 - Revert ivar Java fields to fix remaining issues
    #7147 - Fixes #7102. ArgumentError re-splatting empty keyword arguments
    #7150 - Allow reified classes to store instance variables in raw fields
(fixed)
    #7153 - Ripper.sexp throws error while parsing ‘ö’

···

--
blog: http://blog.enebo.com twitter: tom_enebo
mail: tom.enebo@gmail.com