JRuby 1.2.0 Released

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

Homepage: http://www.jruby.org/
Download: http://dist.codehaus.org/jruby/

JRuby 1.2.0 has fixed many many compatibility issues and continued to
improve general performance. Due to popular demand we have a new
versioning
system. 1.x.y was our old number system where x was the major release
and y
was the minor release. Our new system just chops off the vestigial ‘1.’
from
the front. 1.3, 1.4, …, 1.x will just be minor releases of our
current
major release.

Highlights:

  • Improved Ruby 1.9 support (via --1.9)
    • Compiler now works
    • Almost all of the missing 1.9 methods have been added
  • New experimental --fast flag which does more aggressive optimizations
  • Large scale compiler and runtime cleanup and performance audit
  • Parsing is 3-6x faster now.
  • Preliminary android support (Ruboto)
  • Rails pathname issue fixed on Windows
  • Major bug triage since last release
  • 1052 revisions since 1.1.6
  • 256 bugs fixed since 1.1.6

In addition to thanking everyone in the JRuby community who always helps
us improve JRuby,
we also want to give a special thanks to all those who gave us feedback
during the release
candidate phase. This helped us find a number of serious blockers.

Bugs fixed since RC2

JRUBY-3469 JRuby 1.2.0RC1 problem with spaces in path on Windows
JRUBY-3476 #java_class is lost (returns nil) after singleton
created
JRUBY-3491 NullPointerException when calling #arity on
Klass.method(:new)
JRUBY-3492 wrong # args when calling super without args in
subclass of Enumerable::Enumerator

Bugs fixed since RC1

key summary
JRUBY-3455 1.2RC1 case - when clause evaluation does not
short-circuit
JRUBY-3456 rails command causes project to be created in the wrong
directory
JRUBY-3460 java.lang.ClassCastException: org.jruby.RubyObject
building jruby-rack
JRUBY-3461 Minor code conventions documentation typo
JRUBY-3449 jruby-complete-1.2RC1.jar seems to break FFI
JRUBY-3464 1.2.0 RC1 fails on Solaris x86_64
JRUBY-3376 Need FFI platform files generated for x86_64 linux
JRUBY-3378 JRuby needs a new release of JFFI
JRUBY-3466 NPE at
org.jruby.runtime.callsite.RespondToCallSite.isCacheInvalid
JRUBY-3467 bug with one extra space on shebang with jruby-1.2rc1
JRUBY-2795 Process.setpriority failure in rubyspecs on Mac OS X,
Soylatte
JRUBY-3370 Need Constantine release for JRuby 1.2
JRUBY-3402 extract command still tries to run but fails; remove
entirely or fix
JRUBY-3457 ast script is not making it into the dist packages
JRUBY-3447 Rails console gets stuck on “quit”
JRUBY-3451 Random method undefined error after change in r.8491
JRUBY-3448 UNIXSocket file descriptor leak
JRUBY-3424 File.expand_path does not correctly follow directory
changes from Dir.chdir
JRUBY-3450 Problem with jitting ruby block in JRuby 1.2 RC1
JRUBY-3444 Multi-line string interpolation parses under MRI but
gives a parse error on JRuby

Bugs fixed since 1.1.6

Key Summary
JRUBY-414 Serialization of wrapped Java objects could be handled
as user-marshalled data by Marshal
JRUBY-551 JRUBY-549
bfts test_file_test failures
JRUBY-750 defineAlias reports original name and not aliased one in
stack traces
JRUBY-852 jirb exits on ESC followed by any arrow key followed by
return
JRUBY-1079 IO.sysopen not defined
JRUBY-1201 TCPSocket.new(dest_adrr, dest_port, src_addr, src_port)
missing from JRuby
JRUBY-1235 DRb hangs when transferring Ruby objects created in Java
JRUBY-1401 Pathname#realpath fails for Windows drive letters
JRUBY-1470 FileTest methods only work with string arguments
JRUBY-1555 DST bug in second form of Time.local
JRUBY-1576 multi-byte character encoding probrem
JRUBY-1606 File.expand_path does not work as expected
JRUBY-1639 Exception when stopping WEBrick running the new rails
application
JRUBY-1803 Support Ruby 1.9 M17N strings
JRUBY-1853 define_method methods do not display the correct stack
trace, may not be using frame safely
JRUBY-1854 def is almost 3x slower in JRuby
JRUBY-1855 EOF handling in case of reading program from standard
input
JRUBY-1872 next statement should return the argument passed, not nil
JRUBY-1884 handling of file close while reading differs from mri
JRUBY-1950 -i flag not supported
JRUBY-2003 rexml pretty printing wrap() error
JRUBY-2040 new samples/jnlp dir: includes both unsigned and signed
examples that work in Java 1.5 and 1.6
JRUBY-2108 IOWaitLibrary ready? returns nil when ready
JRUBY-2120 Wrong stacktraces from exceptions about wrong number of
arguments
JRUBY-2131 Select with nil arrays should throw an exception
JRUBY-2139 jruby.compile.frameless=true cause “Superclass method
‘initialize’ disabled.”
JRUBY-2168 test_io (test_copy_dev_null) fails under WinXP
JRUBY-2170 Very unverbose message when problem with native library
exists
JRUBY-2174 Method#to_proc.call invocations much slower than normal
Method#call invocations
JRUBY-2180 break performance is slower than MRI, sometimes slower
than interpreted
JRUBY-2211 SNMP Requests does not timeout properly
JRUBY-2252 Kernel#exec should not raise SystemExit
JRUBY-2262 Java toString() mapping to invoke(… to_s
…).toString() doesn
JRUBY-2264 Include Nailgun in release binary packages
JRUBY-2285 Regression: rubyspec run with -V option breaks JRuby
JRUBY-2288 UDP locking problems when receiving from multiple senders
on same port
JRUBY-2296 convertToRuby does not work if to_s does not return a
String (but for example nil)
JRUBY-2305 File output cuts off at a certain point?
JRUBY-2307 DRb from MRI server to JRuby client fails with long
messages
JRUBY-2326 Invalid cast during parsing of recursive.rb in
facelets-2.3.0 (org.jruby.ast.YieldNode cannot be cast to
org.jruby.ast.BlockAcceptingNode)
JRUBY-2328 Overriding require causes eval to give wrong FILE in
certain circumstances
JRUBY-2333 usage of unexistant variable in REXML::SourceFactory
JRUBY-2346 Nailgun does not compile under HP-UX
JRUBY-2353 Process.kill breaks up JRuby, while works in MRI on
Windows
JRUBY-2369 ‘ant spec’ failures on on MacOS
JRUBY-2389 java.util.ConcurrentModificationException
JRUBY-2410 Multiple assignment could be made faster by not returning
unused array
JRUBY-2424 running with -rprofile with multithreaded test causes NPE
JRUBY-2426 JRuby trunk does not build with IBM JVM 1.5
JRUBY-2435 Aliasing eval and other “special” methods should display
a warning
JRUBY-2455 “jruby” script failed to find JRUBY_HOME leads to
class not found
JRUBY-2484 unicode symbol not supported as in MRI
JRUBY-2504 JAR URLs are inconsistently supported by APIs that access
the filesystem
JRUBY-2506 Marshal/IO.eof bug
JRUBY-2518 Dir[“some glob”] doesn’t work for files inside a jar
JRUBY-2521 Compilation Warning for Sun proprietary API using
JRUBY-2522 Can not execute JRuby 1.1.1 “ant test” with IBM JDK
JRUBY-2542 DATA.flock causes ClassCastException
JRUBY-2545 Recursively locking on a mutex results in deadlock
JRUBY-2548 JRuby conversion of String to Java String is arcane
JRUBY-2557 NPE when yielding method
JRUBY-2603 Couple of new rubyspec failures for URI library
JRUBY-2655 TCPSocket.new(‘localhost’, 2001) connects on the wrong
interface
JRUBY-2661 specs hang under Apple Java 5
JRUBY-2672 BasicSocket#close_read and #close_write not working
JRUBY-2675 jirb + jline do not work in cygwin
JRUBY-2699 If user’s PATH contains ‘.’ and ‘jruby’ resolves to
‘./jruby’, JRUBY_HOME is incorrectly set to ‘.’, leading to
‘NoClassDefFoundError’
JRUBY-2727 ActiveScaffold 1.1.1 fails with JRuby 1.1.2, probable
path problem
JRUBY-2732 org.jruby.util.RubyInputStream is unused
JRUBY-2757 Compiled argument processing and arity checking are too
large, too much bytecode
JRUBY-2759 Time Zone “MET” maps to Asia/Tehran
JRUBY-2761 Thread#wakeup fails when sleep is called with a parameter
JRUBY-2772 Zlib::Deflate doesn’t appear to deflate
JRUBY-2782 “No such file or directory (IOError)” when JAR file named
in java.class.path but not active filesystem
JRUBY-2788 Make Time.now monotonically increasing
JRUBY-2794 Failure in String#crypt specs, Mac OS X, Soylatte
JRUBY-2796 Missing constant in Process::Constants on Mac OS X
(darwin)
JRUBY-2797 File.expand_path rubyspec failure on Mac OS X, Soylatte
JRUBY-2802 JRuby wrapped Java objects formerly exposed readers for
non-public fields
JRUBY-2804 IO.popen of ‘yes’ process hangs on close
JRUBY-2815 System triggered from inside of tracing behaves oddly
JRUBY-2817 File.chown works with 64bit JDK, but raises
NotImplementedError on 32 bit JDK
JRUBY-2820 Most Etc methods behave diferently on Windows under x32
and x64 JVMs
JRUBY-2826 Array#pack(‘w’) is broken (exceptions and wrong results)
JRUBY-2830 String#unpack with ‘w’ is completely unimplemented
JRUBY-2845 -S switch breaks if you have directory in pwd matching
name of file in bin/PATH
JRUBY-2846 gem generate_index broken
JRUBY-2849 CCE using proc{} in AR callbacks
JRUBY-2855 Classpath search order is not respected by require when
classpath includes both jars and directories
JRUBY-2858
test_file.rb::test_opening_readonly_file_for_write_raises_eacces()
fails with “IOError: Permission denied” on FreeBSD 7.0 amd64 + java
1.6.0_07
JRUBY-2861 Cannot call super inside a method that overrides a
protected method on Java base class
JRUBY-2868 ThreadService.getRubyThreadFromThread supports only one
non-rubynative thread at a time.
JRUBY-2896 jruby -S picks up script from local directory
JRUBY-2898 Exception trying to use BSF
(java.lang.NoClassDefFoundError: org/apache/bsf/util/BSFEngineImp)
JRUBY-2901 JRuby does not support options in shebang line
JRUBY-2917 Missing peephole optimizations in parser, compiler
JRUBY-2921 Newly overridden methods are not called if the old
superclass method has already been called
JRUBY-2933 Ruby runtimes are pinned to memory due to ChannelStream
JRUBY-2941 popen IO lockup with multiple threads
JRUBY-2950 Net::IMAP#authenticate stalls / blocks in recent versions
of JRuby
JRUBY-2951 repeated popen call may throw NULL pointer exception
JRUBY-2970 Timeout.rb is not working in special cases (Thread may
block whole application).
JRUBY-2974 multi-byte exception message turned into garbled
characters when Java Exception nested NativeException.
JRUBY-2979 File#getc fails on illegal seek when reading from
/dev/ttyS0 on Linux
JRUBY-2981 alias_method_chain pattern is extremely show on jruby
JRUBY-2982 Unicode regular expressions by UTF-8 don’t work
JRUBY-2988 jirb does not echo characters to the terminal after
suspend and resume in the shell
JRUBY-2997 Dir[] results in NPE depending on permissions
JRUBY-2999 Regression: Inheriting method with same name from two
Java interfaces causes Java classloader error
JRUBY-3000 integration issues with Java classes containing inner
classes
JRUBY-3003 ArrayStoreException in compiler when calling Array.fill
JRUBY-3005 Stomp gem hangs in Stomp::Client#subscribe
JRUBY-3007 Message method value of Exception is missing in Java when
exception raised in ruby
JRUBY-3011 java classes with non-public constructors are incorrectly
instantiated
JRUBY-3017 DRb “premature header” error on JRuby client
JRUBY-3035 Get Rails tests running in a CI server somewhere before
1.1.6 release, to ensure no future breakages
JRUBY-3038 Unable to insert YAML into t.text field (behavior
different from Ruby 1.8.6)
JRUBY-3054 Thread#status is “run” when thread is blocking on
condition variable
JRUBY-3055 permission javax.management.MBeanServerPermission
“createMBeanServer”;
JRUBY-3061 NKF(unsupported Q encode stream)
JRUBY-3065 New public LoadService#findFileToLoad method
JRUBY-3071 Illegal seek error trying to read() from pipe
JRUBY-3073 JRuby script engine does not load on IBM JDK
JRUBY-3076 RubyUDPSocket.send tries to do inet address lookup,
pauses too long for inet6 failure
JRUBY-3077 Update ruby_test tests and incorporate changes into build
JRUBY-3085 Add constant caching for Colon2 and Colon3 (specific
module and Object cases)
JRUBY-3088 “RStone” port of PyStone is slower on JRuby than 1.9
JRUBY-3089 Digest::Base stores in memory all bytes passed to the
digest, causing OutOfMemoryError
JRUBY-3103 Compiler closures use two different binding mechanisms,
need better construction and caching logic
JRUBY-3109 Update stdlib to an appropriate 1.8.6 patchlevel
JRUBY-3116 ArrayIndexOutOfBoundsException in tmail
JRUBY-3120 Regression: error serializing array of objects with
custom to_yaml def to yaml
JRUBY-3125 Some Socket constants not supported.
JRUBY-3127 Inconsistent DynamicScope instances in evalScriptlet
JRUBY-3128 Different jruby behaviour that ruby 1.8.6/1.8.7/1.9 when
running file that is named as one of required file.
JRUBY-3142 Dir.pwd correctly displays dirs with unicode characters
in them
JRUBY-3146 Time#_dump RubySpec failures
JRUBY-3147 Time#_load RubySpec failures
JRUBY-3148 Array#fill spec failures
JRUBY-3152 Process.times returns invalid values
JRUBY-3158 Wrong ruby methods called on object of same class from
Java code.
JRUBY-3160 REXML returns error for add_attribute
JRUBY-3174 FFI MemoryPointer#get_string(0, x) gets confused by null
byte in the buffer
JRUBY-3175 Cloning java byte array returns incorrect object
JRUBY-3177 ConcurrentModificationException
JRUBY-3178 http spec tests fail when webrick starts on address
0.0.0.0
JRUBY-3179 JRuby can’t handle do/end blocks within String-inlined
expressions
JRUBY-3180 Class in default package can’t be reopened under Java
namespace
JRUBY-3187 JRuby command line scripts do not work with spaces in the
path
JRUBY-3190 method `module_eval’ for main:Object should be undefined?
JRUBY-3204 IO.read and IO.readlines do not take a block
JRUBY-3207 super error message is inaccurate when superclass doesn’t
implement method.
JRUBY-3208 ant task api-docs runs out of memory, patch included
JRUBY-3211 builder library is slower in JRuby than in MRI
JRUBY-3214 load and require don’t work correctly for .class files
JRUBY-3217 Memory Leak with Adopted Threads
JRUBY-3218 Import is sometimes confused by unquoted class name
JRUBY-3221 Rubinius -bad instanceof tests in RubiniusMachine for
attempt at fast path evaluation
JRUBY-3224 Array#to_java with java object reference doesn’t carry
over object identity
JRUBY-3226 Including more than one java interface stops Test::Unit
execution
JRUBY-3232 Zlib::GzipReader.each_line yields compressed data
JRUBY-3233 JRuby with Rails 2.2.2 unable to instantiate a java class
JRUBY-3234 Difference in require behaviour with MRI with “.rb”
suffix
JRUBY-3238 Jruby 1.1.7 still leaking weakreferences
JRUBY-3242 Performance degradation on write operations
JRUBY-3244 [PATCH] Support atime updates via utime
JRUBY-3248 jruby can’t load file produced with jrubyc
JRUBY-3250 test_java_pkcs7.rb - Problem coercing Bignum into class
java.math.BigInteger
JRUBY-3251 ConcurrencyError bug when installing Merb on JRuby
JRUBY-3253 Lack of default jruby.home in embedded usage causes NPE
JRUBY-3254 Make JRuby’s Time#local behave more like MRI
JRUBY-3255 jruby -S script/server fails in Rails application
JRUBY-3257 RaiseException#printStrackTrace doesn’t deal well with
nil messages
JRUBY-3262 JRuby 1.1.6 regression: ClassFormatError if Ruby
superclass of Ruby class implements super-interface of Java interface
JRUBY-3267 patch attached to update eclipse .classpath to refer to
bytelist-1.0.1.jar
JRUBY-3269 SystemStackError with YAML.dump
JRUBY-3270 using activerecord ‘to_xml’ method crashes JRuby (and
debugger)
JRUBY-3274 Many new Array#pack failures in updated RubySpecs
JRUBY-3275 New ARGF spec failures
JRUBY-3276 New IO#readpartial and IO#seek spec failures
JRUBY-3277 Constant lookup should omit topmost lexical scope; not
bail out on first Object-hosting lexical scope
JRUBY-3280 patch attached to update eclipse .classpath to add new
jars in build_lib/
JRUBY-3287 Add public RubyInstanceConfig#setCompatVersion
JRUBY-3289 ArgumentError: dump format error() when unmarshalling
Rails session and EOFError when unmarshalling hash with containing value
of type ActionController::Flash::FlashHash
JRUBY-3290 Float range to restrictive in FFI code
JRUBY-3296 Etc.getpwuid should raise TypeError if invalid type
JRUBY-3298 Kernel.srand calls #to_i on number
JRUBY-3303 [1.9] splat of array at front of assignment broken (same
for other grammatical constructs)
JRUBY-3305 Fixnums & Floats should be coerced to the narrowest
java.lang.Number when passed to a java method that expects Object
JRUBY-3307 tempfile.rb sucks in JRuby
JRUBY-3308 Deadlock between RubyModule.includeModule() and
RubyClass.invalidateCacheDescendants()
JRUBY-3310 Race condition in JRuby when Active Support is overriding
Kernel.require
JRUBY-3314 Pull in final 1.9.1 stdlib when released
JRUBY-3316 Group expression class path fails to parse
JRUBY-3317 require “tempfile”; Dir.tmpdir fails
JRUBY-3318 If ‘jruby’ executable is a relative symlink, JRuby won’t
start
JRUBY-3324 Error in string encoding conversion
JRUBY-3328 Incorrect behavior for case/when when true or false are
the first conditions
JRUBY-3329 Major divergence in threading behaviour between Ruby
1.8.6 and JRuby 1.1.6
JRUBY-3331 to_f near Float::MAX
JRUBY-3332 ConcurrentModificationException In Application Startup
JRUBY-3339 java.lang.ArrayIndexOutOfBoundsException in
RubyArray.java
JRUBY-3340 String#unpack(‘m’) fails with
ArrayIndexOutOfBoundsException
JRUBY-3351 Tempfile defaults to a directory that does not exist on
Windows
JRUBY-3360 Pure-Java tempfile does not use a #make_tmpname callback
JRUBY-3361 Compiled case/when blows up with arrays as when clauses
JRUBY-3362 attr_accessor, attr_reader, attr_writer, and attr not
obeying visibility
JRUBY-3363 OutOfMemoryError when using soap4r on jruby 1.1.6
JRUBY-3365 Objects with custom to_yaml methods break collection
to_yaml
JRUBY-3366 Faulty marshalling error blows up in ActiveSupport
JRUBY-3367 Dir.glob processes nested braces incorrectly
JRUBY-3372 [PATCH] FFI: passing nil for a declared string parameter
blows up
JRUBY-3373 [PATCH] FFI: assigning Struct to a pointer fails
JRUBY-3374 [PATCH] FFI::ManagedStruct instantiated objects are of
the wrong class
JRUBY-3375 ‘attr’ implementation is incompatible with MRI 1.9.1
behavior
JRUBY-3377 Need FFI platform files generated for x86_64 darwin
JRUBY-3386 Array#eql? rubyspec failure
JRUBY-3387 Array#== rubyspec failure
JRUBY-3390 RubySpec: Numeric#coerce calls #to_f to convert other if
self responds to #to_f
JRUBY-3392 RubySpec: Thread.stop resets Thread.critical to false
JRUBY-3397 defined? CONST is not following proper constant lookup
rules
JRUBY-3398 Attributes defined from Java tried to use current frame
for visibility
JRUBY-3405 popen breaks input channel for IRB
JRUBY-3407 FFI Stack Level Too Deep on Library.send(:method, args)
JRUBY-3408 FFI non-string args for methods are turned into strings
anyway
JRUBY-3410 Add -y flag to debug the parser
JRUBY-3411 JRuby does not build or run on AIX due to exceptions in
org.jruby.ext.ffi.Platform
JRUBY-3420 [PATCH] Added basic_word_break_characters method to
Readline
JRUBY-3432 String#hash needs to be made encoding-aware
JRUBY-3436 [PATCH] FFI should allow passing nil as a callback
parameter
JRUBY-3437 pid-returning methods should make a best effort to get a
real pid
JRUBY-3439 super in top level go boom

Thomas E. wrote:

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

Homepage: http://www.jruby.org/
Download: http://dist.codehaus.org/jruby/

Fantastic. Amazing work.

Thanks!


James B.

www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff