Blog from July, 2008

JRuby 1.1.3 Released

The JRuby community is pleased to announce the release of JRuby 1.1.3!


JRuby 1.1.3 is the third point release of JRuby 1.1.  The fixes in this
release are primarily obvious compatibility problems and performance
enhancements.  Our goal is to put out point releases more frequently for
the next several months (about 3-4 weeks a release).  We want a more
rapid release cycle to better address issues brought up by users of JRuby.


- RubyGems 1.2
- Greatly improved interpreter performance
- jrubyc compiler usability improvements and bug fixes
- Reduced memory usage and object churn
- Dozens of IO-related and core class RubySpec fixes + reduced memory for IO
- ThreadGroup fixes to resolve Mongrel "dead thread" issues
- New options/properties for tweaking JIT, thread pooling, and more
- Block invocation performance improvements
- Much faster Time performance
- Much better support for --debug
- Mentioning that context classloader fix would be nice
  (since it quite user visible, and many users seen/asked for it).
- 82 issues resolved since JRuby 1.1.2

Issues fixed:
JRUBY-2495        Requiring and using a Java library that ends up using a Thread Context classloader doesn't work.
JRUBY-2582     Strip out gem cruft dring ant dist
JRUBY-2584     Comparable#== behavior differs from MRI
JRUBY-2585     Hash.[] should call to_hash if only one argument is provided
JRUBY-2590     [1.8.7] SecureRandom crashes, fails new rubyspecs
JRUBY-2592     Two JRuby crashes on Readline::HISTORY rubyspecs
JRUBY-2598     Rubygems installs non-functioning BAT files on Windows
JRUBY-2601     New default for jruby.jit.threshold property is not reflected in the --properties listing on jruby command line ref. JRUBY-2514
JRUBY-2605     Kernel.eval with yield behaves differently than MRI 1.8.6/1.8.7, causes some libraries failures with JRuby
JRUBY-2607     Gather all JRuby RubyGems changes out of RubyGems libs and into a single monkey-patching file
JRUBY-2614     StringIO#readlines("") hangs JRuby
JRUBY-2615     IO.popen doesn't allow shell commands to access STDIN
JRUBY-2617     gem install appears to be bulk updating every time.
JRUBY-2623     Rubyspec failures for StringIO's #close, #close_write, #close_read and #<<
JRUBY-2624     Object#initialize_copy should always be private
JRUBY-2625     IO#read_nonblock is broken
JRUBY-2628     StringIO's methods (new and truncate) should raise appropriate exceptions
JRUBY-2629     StringIO#<< and various read methods crash ruby if invoked on only-allocated object
JRUBY-2630     direct loading .class files fails with an IO Error
JRUBY-2631     jruby's select() doesn't properly handle objects that implement to_io
JRUBY-2632     IO#readpartial doesn't handle unget char
JRUBY-2633     Kernel#select with non-array argument crashes JRuby
JRUBY-2635     IO#readpartial crashes when negative argument is specified
JRUBY-2636     IO#readpartial doesn't honor maxlength parameter and always returns the whole buffer content
JRUBY-2637     Channelstram should null the buffer in close()
JRUBY-2638     StringIO#initialize_copy is not implemented
JRUBY-2644     TCPServer#close doesn't interrupt any pending #accept's
JRUBY-2646     NullPointerException when trying to invoke method whose arity is three and that is given a block.
JRUBY-2650     Block construction/instantiation is slower in compiled than interpreted
JRUBY-2652     NativeException does not have a direct accessor for the wrapped exception
JRUBY-2653     test_threaded_nonlocal_return test sometimes fail with an apparent threading issue
JRUBY-2659     Stringio#ungetc crashes JRuby in some cases
JRUBY-2660     More than 30 rubyspec failures for StringIO
JRUBY-2662     Tag or fix remaining OS X spec failures
JRUBY-2664     --debug option on Windows is broken
JRUBY-2667     Plenty of new StringScanner failures for JRuby
JRUBY-2669     StringScanner#peek crashes JRuby in some situations
JRUBY-2671     NullPointerException when converting an Array of Ruby that includes an instance of java primitive class.
JRUBY-2677     Problem in Process Command Line Arguments
JRUBY-2679     Selectively Disable JIT Compiler using command line options
JRUBY-2681     Multiple IO#readlines rubyspec failures
JRUBY-2683     Regexp#to_s behaves differently than MRI 1.8 or MRI 1.9
JRUBY-2684     gem management requires too much memory
JRUBY-2687     Socket.for_fd generates ArgumentError when running EventMachine gem (pure_ruby version)
JRUBY-2692     Bigdecimal#add never uses the precision arg, fails new rubyspec tests
JRUBY-2693     PROGRAM_NAME is not available in the modules included via -r command line option
JRUBY-2694     [1.8.7] Ability to specify suffix/extension for Tempfile
JRUBY-2695     Exception in the thread is not printed when Thread.abort_on_exception is set to true
JRUBY-2696     Kernel.raise should print the one-line exception info to $stderr in DEBUG mode
JRUBY-2698 inconsitencies
JRUBY-2699        If user's PATH contains '.' and 'jruby' resolves to './jruby', JRUBY_HOME is incorrectly set to '.', leading to 'NoClassDefFoundError'
JRUBY-2704     Upgrade rubygems to version 1.2
JRUBY-2707     JRuby does not load AOT compiler escaped name
JRUBY-2709     Interpreter crashes on a new rubyspecs for rescue
JRUBY-2710     CGI#out fails new rubypecs, prints results to original stdout rather than to the redefined one
JRUBY-2711     RubyArray keeps references to unreachable RubyObjects after clear, reject!, delete and delete_at
JRUBY-2713     AOT Compiler should default to no prefix
JRUBY-2714     Major performance slowdown when loading AOT compiled file
JRUBY-2717     Dir[..] does not accept more than two arguments
JRUBY-2719     Mongrel can't handle heavy load, fills up with threads and starts dropping connections
JRUBY-2721     ThreadGroup should not ever hold on to dead threads in its list
JRUBY-2722     Interpreter passes absolute path to the EventHook for 'require'ed files
JRUBY-2723     Interpreter passes wrong position on 'return' event
JRUBY-2728     Deadlock in Thread#exit when being joined from outside
JRUBY-2729     Kernel#caller should not cut off at eval like backtraces do
JRUBY-2730     Multiply-binding JRubyMethods with meta=true are not processed correctly by AnnotationBinder
JRUBY-2731     Significant speedup of Time methods (up to 300%-400% in some cases)
JRUBY-2733     StringIO#each_byte doesn't update pos, fails new Rubyspecs
JRUBY-2735     String#% should use to_ary to convert the argument to Array
JRUBY-2738     TCPServer#peeraddr on crashes JRuby
JRUBY-2742     Major code duplication in BAT files
JRUBY-2751     Array#fill should return self instead of raising an error when length is negative
JRUBY-2753     c-return passes different 'file' then c-call for load and require
JRUBY-2769     I/O Error (sysseek for buffered IO) when using reliable-message library
JRUBY-2770     IO#sysseek after IO#sysread raises IOError
JRUBY-2773     Crashes when using Enumerator#to_enum with Threadify#threadify
JRUBY-2779     Race condition in IO
JRUBY-2781     Can't compile Build 7142
JRUBY-2786     Lots of JRuby crashes on ARGF methods
JRUBY-2789     IO#read crashes JRuby when pos is bigger than the file length
JRUBY-2809     Not all at_exit blocks are being executed.
JRUBY-2814     release jna-posix and update jruby afterwards