[ANN] JRuby 9.2.10.0 Released

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

   - Homepage: http://www.jruby.org/
   - Download: http://www.jruby.org/download

JRuby 9.2.x is compatible with Ruby 2.5.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. All users are encouraged to upgrade.
Ruby Core

   - Kernel#send and BasicObject#__send__ will now honor refinements used
in the surrounding scopes. (#5945, #6045)
   - Kernel#eval will now honor refinements used in a given binding. (#6017)
   - Process#spawn now correctly processes environment variables for the
child process. (#3428, #5907)

Ruby Standard Library

   - RubyGems has been updated to version 3.0.6. (#5995, #5996)
   - The jruby-openssl library has been updated to 0.10.4. This release
improves support for newer forms of ciphers and cryptographic keys and
reduces the number of Java module warnings displayed. (#6077)
   - The compatibility of the fiddle library has been improved. (#5955,
#5956, #5960)

Java Support

    - Java methods looked up one-at-a-time using java_method and friends
now honor Java modules. This fixes some illegal access errors introduced in
JRuby 9.2.9.0. (#5894, #5969, #6043, #6069, #6072)
    - More illegal access warnings have been cleaned up in JRuby and the
jruby-openssl extension.

Native FFI Improvements

   - The native subsystem has been rebuilt on MacOS to avoid security
warnings due to the old toolchain originally used to build it. (#6044,
#6074)
   - Native constants have been updated for Windows to better support the
Ruby socket API. (#5656, #6070, #6071)

Performance Improvements

   - Several improvements to the method invocation pipeline and JVM
bytecode output to improve JIT optimizations. (#5958, #5959, #5978, #5992,
#6005)
   - Several core methods used by Rails and the internal handling of
exception backtraces have been optimized. (#5952, #5961, #5965, #5972,
#6014, #6015, #6031, #6067)

JRuby Launcher

   - Java options dotfiles accidentally omitted in the JRuby 9.2.9.0
release have been restored in the bin directory.
   - The bash-based launcher script has been cleaned up and optimized for
cross-platform compatibility. (#5977, #6007, #6016)

Thank You!

The JRuby project would not be possible without contributions from you!

This release includes pull requests or major contributions from the
following Github users (in no particular order): @matthewd, @fidothe,
@MariuszCwikla, @ahorek, @deivid-rodriguez, @pythias, @rotty3000,
@rmannibucau, @Mrnoname1000, @kares, @mkristian, @eregon
Github Issues resolved for 9.2.10.0

    #6077 - update jruby-openssl to 0.10.4
    #6074 - Update jnr dependencies
    #6073 - Fix windows_stub_script to use jruby.exe
    #6072 - Type Error: illegal access for final methods on
ReferencePipeline (stream) in Java 11
    #6071 - socket addrinfo fixes
    #6070 - ipproto values are missing on Windows
    #6069 - Generify and reuse accessible method search
    #6067 - optimize roundUpToPowerOfTwo
    #6057 - Bump mavengem-wagon version everywhere
    #6054 - Refined send
    #6044 - libjffi should be rebuilt on darwin (using newer xcode)
    #6043 - Java 11 Compatibility
    #6040 - make jruby-core-source jar has no absolute path from home dir
    #6039 - NullPointerException from FStringEqual.hashCode
    #6038 - profiler crashes with `java.lang.RuntimeException: BUG: refined
marker called as method`
    #6036 - Enumerator#take duplicates objects
    #6035 - Prepare io/console for move to gem.
    #6032 - [fix] restore $! on non-local return from rescue
    #6031 - [fix] restore rescue nil performance
    #6030 - Deprecation warning message : Gem::ConfigMap
    #6029 - [fix] inspect builtin
    #6028 - revert rational test
    #6027 - [fix] SyntaxError rational overflow
    #6025 - SyntaxError (Rational (174532925199432957/1E+19) out of range)
    #6024 - Add filesystem and internal encoding names
    #6021 - Fix Enumerator fiber leaks
    #6017 - Refinements in eval with binding
    #6016 - Remove array expansion of JAVA_OPTS environment variable
    #6015 - early block return retains $! filling cause for next error
    #6014 - correct/revisit exception backtrace (and stack-trace)
    #6007 - Bash cleanup
    #6005 - Reduce block overhead
    #6002 - (refinements?) Something is passing nullblock instead of the
actual block in GraphQL
    #6000 - Do not alias a Java IsEqual to equal?
    #5999 - ensure javase version in osgi meta is 8 and not 9
    #5998 - update maven-bundle-plugin and bndlib to latest
    #5997 - Stack overflow due to RubyGems warn patch
    #5996 - Update RubyGems to 3.0.6.
    #5995 - Update RubyGems
    #5992 - Make many fields on Ruby final.
    #5991 - Invalid OSGi metadata
    #5990 - The .equal? method should not be mapped to .isEqual for Java
objects (e.g. Joda LocalDate)
    #5988 - java.lang.module.ResolutionException
    #5985 - fix strict_base64 for shared strings
    #5984 - Bind only public interface methods for private classes
    #5981 - Nailgun Error - org.jruby.util.NailMain: command not found
    #5979 - Maven source artifact contains full build path
    #5978 - Cache method_missing target
    #5977 - fix 'jruby: line 88: cd: ../libexec/bin: No such file …'
    #5976 - Incorrect warning line
    #5972 - optimize isGregorianLeap
    #5970 - expand #succ for bignums
    #5969 - Mutliple issues on jdk11 after ugrading to jRuby 9.2.9.0
    #5968 - Enumerator#any? is wrong for sequence of empty arrays
    #5966 - Remove usages of deprecated ConfigMap
    #5965 - isGregorianLeap in RubyDate.java - two suggestions for minor
changes
    #5963 - improve BUILDING.md
    #5961 - Faster unpackm0
    #5960 - fiddle fixes
    #5959 - Tweak getCurrentContext for SPEED
    #5958 - Propagate ThreadContext through to_a implementations
    #5956 - dlload throws LoadError instead of Fiddle::DLError
    #5955 - NameError: uninitialized constant Fiddle::CParser::TYPE_SIZE_T
    #5953 - Fix Array.pack with @ directive and buffer #4727
    #5952 - Use string index in String #sub/#gsub when String pattern
passed without creating a Regexp
    #5945 - Refinements are not activated in send
    #5907 - Properly override base env with supplied values for spawn
    #5905 - String#gsub given a String can avoid Regexp
    #5894 - Can't call methods of private subclasses in a module
    #5656 - Multicast Receive Broken On Windows 10
    #4727 - Array#pack buffer should start from beginning of buffer?
    #3428 - Process.spawn doesn't remove nil env variables
    #2255 - Fixnum instance variable behaviour incorrect
    #2096 - filesystem and internal encodings are missing from
Encoding.name_list-

···

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