JRuby 9.1.9.0 Released

Tuesday, May 16 2017

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

JRuby 9000 is the newest major version of JRuby, representing years of effort and large-scale reboots of several JRuby subsystems. It is expected to be compatible with Ruby 2.x and stay in sync with C Ruby. JRuby 9.1.9.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.

  • Heuristic to rebind less in invokedynamic when it callsite changes too much
  • Some improvements in having proper symbol encoding
  • Improved source line reporting on errors
  • 51 issues fixed for 9.1.9.0

Github Issues resolved for 9.1.9.0

  • #4605 - CGI.unescapeHTML => Java::JavaLang::ArrayIndexOutOfBoundsException
  • #4604 - Include Ruby Licensed json libs in COPYING #4587
  • #4603 - ASF projects can't bundle and ship jruby9k
  • #4602 - Also increment thresholds in indy sites for method_missing.
  • #4601 - Bump jnr-posix. Fixes #4600
  • #4600 - Dir.tmpdir fails with error on AARCH64
  • #4597 - Update COPYING for bundled java licenses #4587
  • #4596 - Oat gem slower at steady-state with invokedynamic than without it
  • #4592 - Clean up structure of io/console and avoid stty on Windows.
  • #4587 - COPYING is missing Java libraries
  • #4586 - Jruby profiler raises exception when using the holidays gem
  • #4581 - Fix wrong method lookup cache used when class is prepended
  • #4567 - Add native console support on AARCH64
  • #4566 - Return Process::Waiter with pid in Process.detach
  • #4565 - Time.now sometimes attempts to call libc gettimeofday on Windows
  • #4564 - String encoding differs between MRI and JRuby
  • #4562 - Ripper.sexp unexpectedly returns nil when given source includes keyword-ish symbol
  • #4561 - Fix Method#parameters for a method generated by respond_to_missing?
  • #4559 - Copy-editing: misspellings
  • #4556 - Java::JavaLang::ArrayIndexOutOfBoundsException in CGI.unescapeHTML
  • #4555 - ArgumentError message differs on multiple unknown keywords args
  • #4554 - Kullmann: Fix TracePoint nil event. Add test
  • #4553 - support new JDK version string scheme
  • #4548 - Add AARCH64 support in FFI
  • #4547 - Symbol encoding changes after defining a method with same name
  • #4544 - Use jnr-constants 0.9.9-SNAPSHOT to fix #4006.
  • #4543 - When canonicalizing classpath URIs, use a bogus root path.
  • #4542 - Regression(?) in String#% from 9.1.7.0 to 9.1.8.0
  • #4537 - Update to Rubygems 2.6.11
  • #4534 - Don't yieldSpecific to allow arrays through normal block params.
  • #4532 - Enumerable#each_entry behaves differently from MRI
  • #4530 - do not set eval-type NONE value in a thread-local
  • #4529 - plenty of [org.jruby.EvalType] (value [NONE]) in thread-locals
  • #4527 - Guard gem does not work on JRuby 9.1.8.0
  • #4526 - Marshal.load fails with an explicit nil proc
  • #4523 - String#% fails with Hash parameter
  • #4522 - cleanup and improve Time's nsec rounding
  • #4520 - File.mtime doesn't return milliseconds
  • #4487 - Travis-ci: Error parsing Gemfile on current jruby-head
  • #4430 - JIT fixnum cases (with a value span <= 32) as a tableswitch
  • #4328 - Literal rational syntax does not support Bignum
  • #4211 - Wrong line number reported in backtrace of syntax error caused by '*/'
  • #4154 - Wrong line number reported in backtrace in hash creation
  • #4145 - Can't use `require_relative` with a path beginning with `lib` in a jar...on Linux
  • #4070 - Non-ASCII Symbol gives ArgumentError when calling inspect on the symbol
  • #3897 - jRuby 9050 and 9100 behave differently for case / when with Array from MRI
  • #3625 - remote execution
  • #3347 - GBK Symbol Error (jruby 9.0.1.0)
  • #2798 - Dynamic "once" regexps are not as atomic as in MRI
  • #2126 - Failure to reject invalid float forms with proper message
  • #843 - Time#nsec rounding is happening at a place we don't want.