Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

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