JRuby 1.6.6 released

The JRuby community is pleased to announce the release of JRuby 1.6.6.

The primary goal of the 1.6.x series is to round out our 1.9 support
by fixing any reported incompatibilities. Of course, as with any JRuby
release, we will continue fixing any found incompatibilities and also
improve performance. All users of 1.6.5.1 (and lower) are encouraged
to upgrade to 1.6.6.

Because master keeps getting further and further away from our 1.6
branch we have decided to make this our last 1.6 release. We largely
fulfilled our goal of having reasonable 1.9 support. Follow up fixes
for 1.9 support will only be fixed on master from this point forward.
JRuby 1.7.0 will be the next release of JRuby.

Notable Changes:

  • Updated stdlib to match Ruby 1.8.7p357 and 1.9.2p312
  • Updated RubyGems to 1.8.15
  • Multiple 1.9-mode yield/splat bugs fixed (pp, rspec 2.8 working again)
  • Multiple 1.9-mode encoding bugs fixed
  • Critical fixes in Random and Fiber
  • Map Scala operator methods to symbolic names ($plus, etc)

1.6.5 Issues Resolved:

  • JRUBY-6386 time.localtime not taking any arguments
  • JRUBY-6384 yaml broken for last 1.6.6 build?
  • JRUBY-6383 Scala integration breaks with 1.6.6
  • JRUBY-6382 1.9: Padrino can’t generate an app
  • JRUBY-6381 java.util.Collection#each dose not respect to_ary defined
    by objects that are iteratered
  • JRUBY-6380 Original array is overwritten when select! is called on a
    copy
  • JRUBY-6377 rspec .should include() fails in --1.9 mode
  • JRUBY-6375 Uninformative YAML parser error
  • JRUBY-6373 ThreadError: Mutex is not owned by calling thread, when
    interrupting thread using a Ruby Mutex
  • JRUBY-6370 Regression in 1.6.6 in --1.9 mode
  • JRUBY-6367 --pre command line switch not working in 1.9 runtime
  • JRUBY-6366 More array splatting bugs in 1.9 mode
  • JRUBY-6361 RbConfig reports wrong OS type on Solaris
  • JRUBY-6359 Can’t convert nil to String building ActiveSupport RDoc in
    1.9 mode
  • JRUBY-6354 SyntaxError: (RegexpError) invalid multibyte escape in
    1.9 mode in the 50th iteration
  • JRUBY-6338 JRuby does not look for .jrubyrc in home directory on
    Windows
  • JRUBY-6324 random seed for srand is not initialized properly
  • JRUBY-6323 JRuby does not pay attention to either -U or LANG in
    determining encoding for ARGV (it is always ASCII-8BIT)
  • JRUBY-6319 ‘binding’ returns wrong binding
  • JRUBY-6318 Tempfile#open does not return the value of the block given
    to it
  • JRUBY-6307 Powering operation of Integer sometimes gets a wrong
    calculation when 1.9 mode.
  • JRUBY-6303 Cannot gem install from a remote repository in 1.9 mode
  • JRUBY-6295 Dir.chdir, $HOME and $LOGDIR behavior
  • JRUBY-6284 Calls to Kernel#exit result in an exception printed on
    stderr
  • JRUBY-6282 Colon is not allowed in a file name on Windows
  • JRUBY-6281 1.9: Applet does not work in the 1.9 mode
  • JRUBY-6272 Encoding exception running JRuby 1.6.5 (1.8 mode)
  • JRUBY-6233 jruby-complete-1.6.5.jar!/META-INF/jruby.home/bin/rake
    missing
  • JRUBY-6227 1.9: Struct#members and Struct::members should return an
    Array of Symbols in 1.9
  • JRUBY-6224 In MRI 1.9 the flag for Module#const_get also controls
    lookup of toplevel constants but not in JRuby
  • JRUBY-6217 Coverage module not working with Rails ActiveRecord
    associations
  • JRUBY-6214 Dir#rmdir raises improper exception if directory is not
    empty.
  • JRUBY-6212 IO#inspect in 1.9 could be prettier
  • JRUBY-6209 Hash#rehash does not work under some condition
  • JRUBY-6208 bad gem file creation using mode --1.9
  • JRUBY-6206 Incorrect SHA1 on two required packages in Maven Central
  • JRUBY-6205 ‘Bad file descriptor’ when using IO.popen4 with OpenJDK 7
  • JRUBY-6204 UTF-8 char in XML hangs in Joni
  • JRUBY-6202 JIT-ed class names only use method names, causing
    collisions
  • JRUBY-6201 File reading performance regression
  • JRUBY-6200 1.9: Loading some Unicode characters results in
    non-printable characters on Windows
  • JRUBY-6199 JRuby is hardcoded to use ‘-mmacos-version-min=10.4’
    which is not compatible with ‘-rpath’ being used
  • JRUBY-6198 When calling dup on file open in binmode the new object
    does not respect binmode
  • JRUBY-6192 jruby::Handle declarations use ‘extern “C”’, causing
    linker symbol mismatches
  • JRUBY-6182 Marshal.dump yields different value after adding/removing
    instance variables (and disagrees with MRI)
  • JRUBY-6176 SecureRandom.uuid is not implemented
  • JRUBY-6173 pp is broken in --1.9 mode
  • JRUBY-6172 Requiring a file from a JAR that has a path inside the
    JAR that coincides with a path on the file system that includes a
    symlink fails
  • JRUBY-6171 Enumerable does not splat
  • JRUBY-6170 Fibers are broken in JRuby 1.6.5

GREAT!!!
Thank you very much for your work.

On Mon, Jan 30, 2012 at 9:00 PM, Thomas E Enebo [email protected]
wrote:

(…)
Thank you for this release and your hard efforts.

I observed a 1s speed regression on a 30s job versus 1.6.5.1
(‘typical’ job unpacking lines into a sequel/h2 database).

Has anyone observed similar slowdown?

Disclaimers:

  • I’m not using 1.9 mode
  • I’m not using the 64bits version
  • jruby 1.6.5.1 (ruby-1.8.7-p330) (2011-12-27 1bf37c2) (Java
    HotSpot™ Client VM 1.6.0_30) [Windows 7-x86-java]

I was getting used to get jruby speed improvements recently on
windows: I might keep 1.6.5.1 in my stack for the time being.

BR,
Christian

On Tue, Jan 31, 2012 at 11:09 AM, Mauro [email protected] wrote:

Disclaimers:

  • I’m not using 1.9 mode
  • I’m not using the 64bits version

There is a jruby 64 bit version?

sorry, was unclear. I’m using 32-bits version of java


Christian

On Tue, Jan 31, 2012 at 4:17 AM, Christian MICHON
[email protected] wrote:

On Tue, Jan 31, 2012 at 11:09 AM, Mauro [email protected] wrote:

Disclaimers:

  • I’m not using 1.9 mode
  • I’m not using the 64bits version

There is a jruby 64 bit version?

sorry, was unclear. I’m using 32-bits version of java

Interesting. Perhaps we are calling some 1.9 logic unconditionally
somewhere and it has affected 1.8 performance. If you want to dig in
you could bisect from 1.6.5 to 1.6.6 and figure out which commit you
can see things slow down.

-Tom


blog: http://blog.enebo.com twitter: tom_enebo
mail: [email protected]

Disclaimers:

  • I’m not using 1.9 mode
  • I’m not using the 64bits version

There is a jruby 64 bit version?