[ANN] JRuby 9.0.0.0.rc2 Released!

The JRuby community is pleased to announce the release of JRuby 9.0.0.0.rc2

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

JRuby 9000 is the new version of JRuby, representing years of effort and
large-scale reboots of several JRuby subsystems. It is expected to be
compatible with Ruby 2.2.x and stay in sync with C Ruby.

Major features of JRuby 9000:

  - Ruby 2.2 compatibility
  - A new optimizing runtime based on a traditional compiler design
  - New POSIX-friendly IO and Process
  - Fully ported encoding/transcoding logic from MRI

We are hoping this is our last release candidate before JRuby 9.0.0.0. The
severity of problems are getting small enough where we think the next
release will be 9.0.0.0.

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.

It is important to point out that when we do put out JRuby 9.0.0.0 that
this is only the starting point. Our new internals gives us lots of
potential to keep pushing the bar higher on JRuby performance.
Notable updates since rc1

   - Fixed cases where AOT classes were not loading
   - Various performance fixes
   - Reduced memory size
   - More parser fixes
   - Fixed rc1 eval with binding regression (aka setValueDepthZero AIOOB)
   - 39 issues fixed for 9.0.0.0.rc2

Truffle

JRuby 9000 includes an preliminary version of support for the Truffle
language implementation framework and Graal VM from Oracle Labs. In future
releases, Truffle will provide an extremely high performance and compatible
backend for JRuby. The Truffle backend supports almost all Ruby language
features and the majority of the core library, and is able to run simple
gems and web frameworks such as Sinatra. It has no support for RubyGems,
Rails or any database drivers, does not work on Windows, and is not ready
to be tested with applications at this stage. More information on Truffle
and Graal can be found in the JRuby Wiki.
Github Issues resolved for 9.0.0.0.rc2

    #3109 - Precompiled .class can't reflect new filename
    #3104 - Strange error in implicit return of match variable
    #3102 - Bundle install fails with jruby-head with a
Java::JavaLang::ArrayIndexOutOfBoundsException on travis
    #3098 - Fix for issue 3035 on master : change the hash code calculation
method of SymbolTable entry.
    #3092 - require_relative through symlinks behaves differently in jruby
than in MRI ruby
    #3090 - Create friendlier API for swapping current thread context
classloader
    #3089 - ManyVarsDynamicScope.java:145:in `setValueDepthZero':
java.lang.ArrayIndexOutOfBoundsException: 0
    #3086 - JavaLang::NullPointerException in
RubySymbol.javaStringHashCode()
    #3085 - proc {} in fcall hash with fcall receiving a do block does not
parse
    #3079 - [Truffle] Requiring paths with . for current directory doesn't
work
    #3078 - jruby 9.x jar-dependencies thwarts `gem install` prereq. to
gemspec
    #3075 - popen3 doesn't work on Windows
    #3074 - rc1 fails on require 'psych' if .gemspec with require_relative
in current directory
    #3067 - JRuby 1.7.20.1 Socket.tcp, Addrinfo.tcp, etc. mistake port for
protocol
    #3061 - Add incrementor back PopenExecutor to prevent infinite loop.
    #3060 - Empty intern array (%i[]) does not work
    #3056 - java.lang.IncompatibleClassChangeError in 9.0.0.0 rc1
    #3055 - Cannot delete file after requiring it on Windows in 9.0.0.0.rc1
    #3054 - Process.spawn using huge amounts of memory for simple script
    #3049 - Requiring a bare file from current directory works unexpectedly
    #3046 - Shellescaped utf-8 string misbehaving in backticks
    #3044 - Fix getRealMethod for WrapperMethod which wraps a WrapperMethod
    #3042 - JRuby 9.0.0.0.pre2 raises "NameError: uninitialized class
variable @@PREFIX_MAP in Object", doesn't occur in Ruby 2.2.x
    #3040 - parameters on non-Ruby method with special arity will NPE
    #3039 - SyntaxError: test.rb:3: syntax error, unexpected kDO_BLOCK
    #3038 - Process.spawn with redirect causes ConcurrencyError
    #3035 - 'あ'.to_sym == :'あ' is false
    #3018 - LoadError with 'compiled' ruby files with JRuby9000
    #3015 - Syntax Error on nested hash that parses with MRI 2.0 but not
with JRuby 9000
    #2973 - This is a fix for bug ID 2964. The URL to see the write up is
here:
    #2970 - add enforcer plugin to ensure we have only released
dependencies on release
    #2943 - "each_with_object({}, &lambda_logic)" raise ArgumentError
    #2813 - jgem jruby-9000 not recognised as ~> 2.0.0
    #2698 - Non-ascii method names getting kicked out
    #2558 - Socket.gethostname ignores encoding settings
    #2496 - NameError: uninitialized constant JSON::Ext::Parser using
jruby-complete
    #2487 - Dist has gotten too large due to new maven features
    #2427 - Ripper is still 2.0 grammar and has not been updated for 2.2
changes
    #1887 - parser bug

···

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