JRuby 9.1.6.0 Released
Wednesday, November 09 2016
The JRuby community is pleased to announce the release of JRuby 9.1.6.0
- Homepage: https://www.jruby.org/
- Download: https://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.6.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 https://github.com/jruby/jruby/issues. We also encourage users to join our IRC channel (#jruby on Freenode) and mailing lists. You may also follow @jruby on Twitter for updates.
- Rubygems updated to 2.6.8
- Socket library improvements and fixes
- Fixed several Keyword Argument corner cases
- Optimized accessing local variables
- 77 issues fixed for 9.1.6.0
Github Issues resolved for 9.1.6.0
- #4272 - Stack overflow in unresolvedSuper logic from jitted code
- #4264 - Fix unnamed socket inspect
- #4262 - Method#owner returns wrong implementation module
- #4261 - Mutexes should use .lock instead of .lockInterruptibly
- #4259 - Identical Regexp are not equal to each other
- #4256 - Revert "Format initial string to specific precision, so rounding works."
- #4255 - jit failure: rack
- #4252 - Also perform uninitialized check on temp locals.
- #4251 - nil initialization missing from optionally-set argument
- #4250 - Prepend must set method's "defined class" to the new bottom.
- #4248 - UNIXSocket#peeraddr was fixed some time ago
- #4247 - Garbage data in UNIXSocket path
- #4240 - Rescue optimization over-optimizes rescue body with $!
- #4233 - Fix clone hierarchy
- #4231 - Cannot iterate over a Range of Times
- #4229 - cloned singleton method exists but can't be overwritten
- #4228 - remove_method fails to remove singleton method on cloned object
- #4227 - Missing unit :second for Process.clock_gettime
- #4225 - Don't dup every element in Enumerator#drop (9K)
- #4224 - Fix the incorrect opscode mapping in f2i()
- #4223 - Broken PHASE='-Pjruby_complete_jar_extended -Dinvoker.skip=true'
- #4222 - BasicSocket improvements
- #4221 - UNIX sockets improvements
- #4220 - Handle EADDRINUSE message in IOException.
- #4218 - Enumerable#drop calls #dup on every element
- #4217 - JRuby 9.1.*.* on multiple platforms incorrectly handles block in `[]` method calls
- #4216 - UDP socket improvements
- #4215 - do not eagerly set eval-type in a thread-local
- #4214 - [Truffle] Use the new getgroups POSIX call.
- #4210 - **operator behavior is different from MRI
- #4207 - Flush destination IO in IO.copy_stream
- #4206 - Kernel#sleep swallows InterruptedException
- #4204 - Implement Socket.socketpair to return Socket instances
- #4203 - Get rid of code dup in ServerSocket#bind
- #4202 - IO.copy_stream with Zlib::GZipWriter broken in 9.1.3.0 and up
- #4199 - Replace BigDecimal#!= by BigDecimal#nonzero?.
- #4198 - Apply patch from rubygems/rubygems#1685
- #4193 - prime? openssl error in 9.1.5.0
- #4190 - TCPServer#accept_nonblock improvement
- #4189 - Implement TCPServer#sysaccept
- #4188 - `require_relative` does not work inside a jar on Windows
- #4187 - Fix Java::JavaLangReflect::GenericSignatureFormatError when reflecting reified annotation values
- #4186 - JRuby accepts wrong method arguments when mixing positional with defaults and keywords
- #4184 - Dir.tmpdir returns working directory
- #4178 - Changing type of global variables gives TypeError
- #4177 - Fix issues with File.dirname
- #4176 - NoMethodError: undefined method `dedent_string' when lexing squigly heredocs in Ripper
- #4174 - Remove premade field-based DynamicScope and generate instead.
- #4171 - JRuby HEAD gets NPE when running `bundle install`
- #4170 - Bring BigMath::log behaviour closer to MRI
- #4169 - squiggly heredoc with single quotes fails to run
- #4168 - Add paths to *DynamicScope that don't check nulls, offsets.
- #4167 - Create a different hierarchy of DynamicScope for use in startup interp + remove null checks in the existing hierarchy since they are redundant
- #4162 - Logger: Errno::EINVAL: Invalid argument with JRuby 9.x in Solaris
- #4159 - Format initial string to specific precision, so rounding works.
- #4158 - BigMath.log(Rational,...) produces garbage digits within the requested precision
- #4153 - Fix for #4147
- #4152 - Fix for #3229
- #4148 - Java::JavaLangInvoke::WrongMethodTypeException when using invokedynamic
- #4147 - Logger: log rotation inter-process lock failed. on Windows with JRuby 9.x
- #4141 - IRB: arrow keys to move along cmd line and up/down in history not working on Windows
- #4128 - Inspect directly into a RubyString and avoid StringBuilder/char[].
- #4126 - Implement SignalException class
- #4119 - Full Socket::Option support
- #4117 - Show that ArgumentError from encoding error is recursive
- #4040 - Setting SO_LINGER completely inconsistent
- #4019 - gem list don't show some gems as default
- #3954 - SignalException#signo (and signm) not defined.
- #3886 - Collect all DNS sections by calling to each_resource instead of each_answer
- #3817 - IO#seek and tell do not properly handle offsets larger than int32
- #3438 - BasicSocket#getsockopt does not work with all possible Symbol combinations
- #3343 - File.flock does not work on Solaris for 9k
- #3326 - JRuby 9.0.1.0 vs. MRI 2.2.2 define_method inconsistency
- #3302 - Updated doc for dumpThreads method in Runtime
- #2768 - System.gc() is async, do not attempt to invoke it and retry sysopen
- #2465 - Build a new pass that ensures that ruby locals / IR tmps are initialized
- #1987 - sequester tmp directories
The JRuby community is pleased to announce the release of JRuby 9.1.6.0
- Homepage: https://www.jruby.org/
- Download: https://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.6.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 https://github.com/jruby/jruby/issues. We also encourage users to join our IRC channel (#jruby on Freenode) and mailing lists. You may also follow @jruby on Twitter for updates.
- Rubygems updated to 2.6.8
- Socket library improvements and fixes
- Fixed several Keyword Argument corner cases
- Optimized accessing local variables
- 77 issues fixed for 9.1.6.0
Github Issues resolved for 9.1.6.0
- #4272 - Stack overflow in unresolvedSuper logic from jitted code
- #4264 - Fix unnamed socket inspect
- #4262 - Method#owner returns wrong implementation module
- #4261 - Mutexes should use .lock instead of .lockInterruptibly
- #4259 - Identical Regexp are not equal to each other
- #4256 - Revert "Format initial string to specific precision, so rounding works."
- #4255 - jit failure: rack
- #4252 - Also perform uninitialized check on temp locals.
- #4251 - nil initialization missing from optionally-set argument
- #4250 - Prepend must set method's "defined class" to the new bottom.
- #4248 - UNIXSocket#peeraddr was fixed some time ago
- #4247 - Garbage data in UNIXSocket path
- #4240 - Rescue optimization over-optimizes rescue body with $!
- #4233 - Fix clone hierarchy
- #4231 - Cannot iterate over a Range of Times
- #4229 - cloned singleton method exists but can't be overwritten
- #4228 - remove_method fails to remove singleton method on cloned object
- #4227 - Missing unit :second for Process.clock_gettime
- #4225 - Don't dup every element in Enumerator#drop (9K)
- #4224 - Fix the incorrect opscode mapping in f2i()
- #4223 - Broken PHASE='-Pjruby_complete_jar_extended -Dinvoker.skip=true'
- #4222 - BasicSocket improvements
- #4221 - UNIX sockets improvements
- #4220 - Handle EADDRINUSE message in IOException.
- #4218 - Enumerable#drop calls #dup on every element
- #4217 - JRuby 9.1.*.* on multiple platforms incorrectly handles block in `[]` method calls
- #4216 - UDP socket improvements
- #4215 - do not eagerly set eval-type in a thread-local
- #4214 - [Truffle] Use the new getgroups POSIX call.
- #4210 - **operator behavior is different from MRI
- #4207 - Flush destination IO in IO.copy_stream
- #4206 - Kernel#sleep swallows InterruptedException
- #4204 - Implement Socket.socketpair to return Socket instances
- #4203 - Get rid of code dup in ServerSocket#bind
- #4202 - IO.copy_stream with Zlib::GZipWriter broken in 9.1.3.0 and up
- #4199 - Replace BigDecimal#!= by BigDecimal#nonzero?.
- #4198 - Apply patch from rubygems/rubygems#1685
- #4193 - prime? openssl error in 9.1.5.0
- #4190 - TCPServer#accept_nonblock improvement
- #4189 - Implement TCPServer#sysaccept
- #4188 - `require_relative` does not work inside a jar on Windows
- #4187 - Fix Java::JavaLangReflect::GenericSignatureFormatError when reflecting reified annotation values
- #4186 - JRuby accepts wrong method arguments when mixing positional with defaults and keywords
- #4184 - Dir.tmpdir returns working directory
- #4178 - Changing type of global variables gives TypeError
- #4177 - Fix issues with File.dirname
- #4176 - NoMethodError: undefined method `dedent_string' when lexing squigly heredocs in Ripper
- #4174 - Remove premade field-based DynamicScope and generate instead.
- #4171 - JRuby HEAD gets NPE when running `bundle install`
- #4170 - Bring BigMath::log behaviour closer to MRI
- #4169 - squiggly heredoc with single quotes fails to run
- #4168 - Add paths to *DynamicScope that don't check nulls, offsets.
- #4167 - Create a different hierarchy of DynamicScope for use in startup interp + remove null checks in the existing hierarchy since they are redundant
- #4162 - Logger: Errno::EINVAL: Invalid argument with JRuby 9.x in Solaris
- #4159 - Format initial string to specific precision, so rounding works.
- #4158 - BigMath.log(Rational,...) produces garbage digits within the requested precision
- #4153 - Fix for #4147
- #4152 - Fix for #3229
- #4148 - Java::JavaLangInvoke::WrongMethodTypeException when using invokedynamic
- #4147 - Logger: log rotation inter-process lock failed. on Windows with JRuby 9.x
- #4141 - IRB: arrow keys to move along cmd line and up/down in history not working on Windows
- #4128 - Inspect directly into a RubyString and avoid StringBuilder/char[].
- #4126 - Implement SignalException class
- #4119 - Full Socket::Option support
- #4117 - Show that ArgumentError from encoding error is recursive
- #4040 - Setting SO_LINGER completely inconsistent
- #4019 - gem list don't show some gems as default
- #3954 - SignalException#signo (and signm) not defined.
- #3886 - Collect all DNS sections by calling to each_resource instead of each_answer
- #3817 - IO#seek and tell do not properly handle offsets larger than int32
- #3438 - BasicSocket#getsockopt does not work with all possible Symbol combinations
- #3343 - File.flock does not work on Solaris for 9k
- #3326 - JRuby 9.0.1.0 vs. MRI 2.2.2 define_method inconsistency
- #3302 - Updated doc for dumpThreads method in Runtime
- #2768 - System.gc() is async, do not attempt to invoke it and retry sysopen
- #2465 - Build a new pass that ensures that ruby locals / IR tmps are initialized
- #1987 - sequester tmp directories