The JRuby community is pleased to announce the release of JRuby 9.1.6.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.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
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.
- 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
···
--
blog: http://blog.enebo.com twitter: tom_enebo
mail: tom.enebo@gmail.com