[ANN] JRuby 9.1.8.0 Released

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

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

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.8.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.

   - Fixed intermittent DynamicScope size errors
   - Concurrency fixes to jitting of blocks (mostly seen as previous
bullet).
   - Several issues fixed when running with -Xcompile.invokedynamic
   - 81 issues fixed for 9.1.8.0

Github Issues resolved for 9.1.8.0

    #4521 - Use actual impl module to test bindability. Fixes #4477.
    #4516 - DynamicScope sizeError
    #4513 - cgi/escape does not define CGI.escapeHTML and other methods
    #4512 - release and upgrade BC (jruby-openssl)
    #4511 - Fix some issues with Fiddle
    #4509 - Fix #4463 Marshal load bigdecimal NaN fails
    #4508 - $. never seems to change once JIT'd
    #4507 - Actually cache the idTest on the module.
    #4504 - Improve some of the debug logging in ConstantLookupSite.
    #4503 - Allow reads after calling BasicSocket#close_write.
    #4501 - JRuby native no longer loads on windows
    #4500 - IO#close_write seems to close the read side too for unix sockets
    #4499 - Make failed indy call sites still use specific-arity dispatch
    #4498 - Separate varargs and specific-arity names in JIT. Fixes #4482
    #4497 - The return value of `ARGF.file#lineno` differs from that of MRI
    #4496 - Use ipaddr to compare the sender's address
    #4494 - Use arity hashCode instead of proc#hash in CallableSelector
    #4492 - YAML: Can't load files with characters in the supplementary
plane
    #4486 - Set up EWOULDBLOCKWaitReadable/Writable if not present. Fix
#4473
    #4485 - Allow refinements in one eval to be seen in the next.
    #4484 - Rational() and IO.try_convert do not work for BasicObjects
    #4483 - Complex() Kernel method does not consult an object's to_c method
    #4482 - Doing require_relative too often leads to TypeError
    #4481 - String#unpack: Unpacked string should not have an encoding
    #4478 - Block doesn't retain it's binding through instance_eval
    #4477 - prepending to the singleton class of a module breaks
instance_method
    #4475 - Activating refinements in binding.eval doesn't stick outside of
the evaluated string.
    #4473 - IO::EWOULDBLOCKWaitReadable Exception class not defined
    #4472 - jrubyc broken for simple (self-executing) scripts in 9.1.7.0
    #4471 - Make sure to iterate over all keys when cancelling keys in a
SelectorPool
    #4467 - Exception backtrace is nil when it should be present
    #4466 - Fix #3799 again.
    #4465 - Java Null Pointer exception while bundling
    #4463 - Marshal load bigdecimal NaN fails.
    #4461 - `ObjectSpace.each_object.to_a` raises
`ArrayIndexOutOfBoundsException`
    #4457 - system and spawn raise 'wrong exec redirect action' when
redirecting given `out: tempfile` or `err: tempfile`
    #4455 - Sequel fails with -Xcompile.invokedynamic=true
    #4454 - Licensing is confusing
    #4448 - [ji] support 'native' method arguments (e.g.
org.jruby.RubyObject)
    #4447 - Fix GzipReader "position" update for #each and #each_line.
    #4445 - string encoding is incorrect when compiling to .class files via
jrubyc
    #4443 - LocalJumpError when creating enumerator inside GzipReader.open
block
    #4442 - Unable to re-deploy rails app (java.lang.RuntimeException: BUG:
could not initialize constructor handle)
    #4439 - Memory leaks due to overwritten local variables being wrongly
kept alive on the stack
    #4438 - fix Base64#decode64 behavior
    #4437 - String#scrub ignores the block if the string encoding is not
ASCII-compatible
    #4435 - [ji] deterministic Java bean-style method aliases
    #4428 - [#4353] Ignore consecutive DOUBLE_STAR in glob_helper.
    #4423 - Kill the LocalJumpError logic for break in lambda. Fixes #4369.
    #4413 - JRuby's impl of FFI differs in behavior from MRI;
segfaults/crashes
    #4399 - RubyHash's compare_by_identify Java method naming is confusing
    #4393 - microsecond accuracy is not supported in class Time
    #4392 - compile back to hard scope when closure compile/build requested
    #4391 - Metaspace fills with java.lang.invoke.LambdaForms$ over time
    #4353 - Dir.glob returns doubles, if used with recursive directory
matchers "**"
    #4312 - Fix JRuby embed crash after application reloading
    #4304 - Singleton on non-persistent Java type
Java::JavaLang::NullPointerException
    #4219 - Calling super with two "_" params ignores the value of the
second
    #4028 - Base64.decode64 incorrect result when missing paddings
    #3663 - Never-ending getaddress() call when using compressed IPv6
nameservers in /etc/resolv.conf
    #3545 - java.lang.NullPointerException when using for loops
    #3528 - ActiveRecord::StatementInvalid: ArgumentError: wrong number of
arguments (1 for 2) for invokedynamic
    #3350 - JRuby 9.0.1.0 has slower $global_var usage
    #3185 - PTY.spawn doesn't pass arguments
    #3020 - Attempt to get output from PTY.spawn periodically hangs
    #2355 - State file use in UUID gem causes severe performance degradation
    #2161 - Hash inspection not working as in MRI for sprintf %p
    #1842 - Dir#glob and escaped commas
    #1784 - OpenSSL::PKey.read throws a null pointer exception
    #1653 - '/' works as a valid path but children don't (under windows)
    #1643 - Cannot call a Java method whose parameter is RubyArray when it
is overloaded
    #1437 - test/mri/ruby/test_regexp.rb has regexp that fail to parse
    #1381 - io/console and/or FFI do not load right with alternative -0
separator
    #1368 - Need to error for unsupported keywords
    #1321 - TracePoint thread_begin and thread_end events are broken
    #1269 - RegexpError with look-behind
    #1258 - Improve Bignum string parsing
    #1149 - chmod inside of File block fails to create file
    #1067 - [2.1] StringScanner named captures
    #1037 - TypeError raised when trying to propagate java Throwables using
Thread.raise
    #413 - $LOADED_FEATURES.clear does not appear to clear internal set

···

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