[ANN] JRuby 9.1.16.0 Released

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

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

JRuby 9.1.x is our current major version of JRuby. It is expected to be
compatible with Ruby 2.3.x and stay in sync with C Ruby. JRuby 9.1.16.0 is
our latest release…

Major features of JRuby 9000:

- Ruby 2.x compatibility
- A new optimizing runtime based on a traditional compiler design
- New POSIX-friendly IO and Process
- Fully ported encoding/transcoding logic from MRI

If you do find issues then report them on using our issue tracker at
http://bugs.jruby.org. We also encourage users to join our IRC channel
(#jruby on Freenode) and mailing lists. You may also follow @jruby on
Twitter for updates.

Highlights:

  - Rubygems updated to version 2.6.14.1
  - Fixed some ensure blocks being executed twice (9.1.15.0 regression)
  - Support grapheme detection via \X
  - Fixed error while loading readline on Windows
  - 51 issues fixed for 9.1.16.0

Github Issues resolved for 9.1.16.0

    #5052 - String literal difference from MRI
    #5048 - IO.copy_stream replaces read chunk even if it's duplicated
    #5041 - Add modification check on String#chomp! method with default
separator
    #5037 - align C ported memsearch code - need to handle array[length]
properly
    #5036 - Scan ArrayIndexOutOfBoundsException Error
    #5019 - Do not leak DNS Request IDs
    #5018 - open3.rb broken in JRuby
    #5017 - Add `#test_power_of_0` and `#test_power_of_1_and_minus_1` to
test targets
    #5016 - Exclude `#test_windows_1255` from our tests
    #5015 - Remove unused import statements
    #5014 - Remove TestArray#test_uniq_bang_with_freeze exclusion test case
    #5013 - fix issue where expr fails on freebsd.
    #5010 - Fix `convertCommon`
    #5006 - Fix test coerce2
    #5004 - PTY.open unusable because of fcntl error
    #5003 - Low-level Java error printed on Errno::EPIPE exception
    #5001 - Implement `Rational#coerce` with `Complex` object
    #5000 - Accept `nil` as an argument of `Rational#<=>`
    #4998 - Remove unused import statements
    #4996 - Add `#test_symbol_op` to test targets
    #4995 - Wrong #inspect is used in Method#inspect
    #4994 - Fix `Symbol#inspect` of UTF_16/UTF_32
    #4992 - Check an encoding of string
    #4982 - Set encoding for character literal
    #4976 - EADDRINUSE when binding TCP socket with globally disabled IPv6
    #4970 - String from literal sometimes not reused with
frozen_string_literal enabled
    #4959 - Raise `TypeError` if `#extend_object` is called for no module
objects
    #4955 - Revert to using weakref.rb, since it's based on a proper weak
map.
    #4944 - Set original Module to definedClass of methods
    #4942 - No stdout with drip on jruby-9.1.15.0
    #4920 - Fiber#transfer gets confused about thread owners
    #4916 - RubyHash doesn't implement the contract of java.util.Map
correctly
    #4910 - Regression with TCPSocket#close_on_exec on windows
    #4909 - JRuby 9000 performance with --debug is 4-5x slower than JRuby
1.7.2 or Ruby 2.3.3
    #4903 - Weird error using IO.copy_stream, IO duck types and enumerators
    #4900 - Improve compatibility with MRI's Ripper for JRuby 9.1
    #4899 - Compiled module descriptor in complete JAR distro
    #4896 - Jruby + Rspec scoping issues on Classes with Prepended Modules
    #4895 - Regression in 9.1.15.0 with some ensure blocks being executed
twice
    #4891 - JRuby returns nil backtrace for living newborn threads, whereas
MRI returns []
    #4889 - jruby 9.1.15 fails with NameError: cannot load Java class
jline.console.ConsoleReader
    #4887 - ThreadedNexter shutdown can in some situations interrupt a
thread executing a different task
    #4886 - Improvements to subclass management and method cache
invalidation
    #4885 - powerpc64le-linux "Syslog not supported on this platform"
    #4879 - Performance issue with ruby meta programming
    #4818 - Raise Errno::EISDIR when opening a directory for reading on
Windows
    #4795 - [#4710] nanosecond precision in utime using libc futimens
    #4721 - NPE while dup-ing guava's ImmutableList
    #4710 - utime behaviour different from MRI
    #4568 - Support grapheme detection via \X
    #4060 - Wrong line numbers inside set_trace_func for end events

···

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