[ANN] JRuby 1.4.0RC2 Released

The JRuby community is pleased to announce the release of JRuby 1.4.0RC2

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

  The JRuby 1.4.0 release ends a long release cycle in which we
resolved a huge number of issues. The headline feature is a move to
Ruby 1.8.7 support, in line with Rails' own plans to make 1.8.7 the required
minimum version of Ruby.

  We have also gotten more serious about out 1.9 support (--1.9). The
bigger applications mostly just work at this point, but we still have a
ways to go on 1.9 support. Please try your 1.9 code in JRuby and help us
firm things up.

  Due to the overwhelming feedback we got from RC1, we have fixed a
number of reported issues (shown below) for RC2. We expect that this will
be our last RC before 1.4.0 final.

****Please try your apps against 1.4.0RC2 ASAP and report problems****

1.4.0RC2 Highlights:
- Windows Native Launcher
  - Solves many reported bugs with our old .bat scripts

1.4.0RC1 Highlights:
- JRuby is now compatible with 1.8.7 patchlevel 174
- New YAML parser Yecht (bug-for-bug compatible with Syck!)
- Improved Java Integration Support
    - faster
    - new java_method and java_send methods
- Windows installer
- New embedding framework
    - Java 6 scripting out of the box
    - New org.jruby.embed package to replace JavaEmbedUtils
- Many 1.9 mode (--1.9) fixes
    - updated stdlib to 1.9.2preview2
    - Rubygems now working
    - Rails 2.3.3 simple apps working (2.3.4 has 1.9 bug)
- rubygems 1.3.5
- Much better error reporting
    - shorter backtraces with less Java
    - Ruby-compatible syntax error reporting
- 232 bugs fixed since 1.3.1

  We want to give a couple of special acknowledgments for some contributors
who went the extra mile this release cycle.

David Calavera has done a great job wrestling with Rubyspec failures and
coming up with patches.

Yoko Harada has totally revamped our embedding APIs and created a new API
called Red Bridge. This should address all of the reported embedding issues.

Issues fixed since 1.4.0RC1:
JRUBY-4036 Regression: Instead of java-based ThreadLibrary a
pure-ruby thread.rb from stdlib is used
JRUBY-4064 Yecht regression: require'ing rubygems now makes nil,
true, false all tainted
JRUBY-4051 Recieve error "\jruby-1.4.0RC1\bin\) was unexpected at
this time" when i try use jruby or jirb
JRUBY-4063 memory stomping error with debug JVM on Solaris
JRUBY-4042 [windows] jruby.bat without parameters fails
JRUBY-4055 [windows] jruby.bat can't handle caret sign (^) and
question mark (?) in command line
JRUBY-4058 [windows] jruby.bat eats % signs
JRUBY-4056 unsigned values values should be stuffed into Java signed
values like Java does
JRUBY-4039 Implicit conversion to List<Long> results in a List<Byte>
or List<Integer>
JRUBY-4079 rcov fails with NullPointerException with JRuby 1.4.0RC1.
Has worked with all JRuby versions since 2008.
JRUBY-4041 tool/nailgun/configure is not executable
JRUBY-4069 [windows] jruby.jar is not in bootclasspath, JRuby starts
much slower then it colud
JRUBY-4071 SystemCallError.new does not create an Errno instance
JRUBY-4089 Mangled Joda-Time package breaks public APIs that return
or consume Joda-Time objects
JRUBY-4045 [windows] jruby -e "p $LOAD_PATH" fails (regression)
JRUBY-4066 ruby subclass of java public void method cannot return
numeric values
JRUBY-4043 could not coerce BigDecimal to class java.lang.Object (TypeError)
JRUBY-4053 ActiveRecord AssociationCollection#== method is returning
false on equal results
JRUBY-4094 variadic FFI functions with struct-by-value return types are broken
JRUBY-4062 RUBYOPT=-rubygems causes various problems for JRuby
JRUBY-4060 gem command doesn't work when RUBYOPT set
JRUBY-4038 nil implicitly casts to java.lang.Integer instead of
java.lang.Long during method dispatch
JRUBY-4095 FFI functions that return a struct-by-value cannot accept
non-primitive parameters
JRUBY-4111 Solaris 32bit stat struct too large
JRUBY-4108 LoadService::SuffixType too private now for LoadService magic
JRUBY-4131 Nailgun doesn't work on Windows 2000
JRUBY-4129 gem install can not work when the gem name contails '_p'

Issues Fixed for 1.4.0RC1:
Key Summary
JRUBY-382 Better error output from parser
JRUBY-937 JRuby does not honor RUBY_OPTS or RUBYOPT
JRUBY-2232 UNIXSocket doesn't work on Solaris
JRUBY-2324 AST Node positions and content incorrect when passing
down Multibyte content to lexer
JRUBY-2349 Bug in constant lookup on non Module or Class
JRUBY-2398 We should strive to implement the 1.8.7 improvements
JRUBY-2419 Argument application within block is not parsed
correctly (for Range literals)
JRUBY-2525 Dir.glob ordering inconsistent with Matzruby
JRUBY-2587 [1.8.7] Hash.[] should call to_ary if only one argument
is provided
JRUBY-2604 [1.8.7] Implement Binding#eval method
JRUBY-2626 Many rubyspec failures for SortedSet
JRUBY-2654 File pty.rb is not part of the JRuby distro, but is
part of the Ruby standard lib
JRUBY-2666 Issues with Socket#getaddrinfo
JRUBY-2694 [1.8.7] Ability to specify suffix/extension for Tempfile
JRUBY-2866 Set .include? method behavior differs between JRuby
1.1.3 and Ruby 1.8.7
JRUBY-3123 Java primate arrays no longer respond to 'first'
(Array) from ruby
JRUBY-3150 Execution variable $: does not include on the taint
check level > 1
JRUBY-3154 Net::HTTP.read_timeout is ignored, timeout is intinite
instead (leading to massive accumulation of sockets and reading
threads)
JRUBY-3159 -e option does not work with iterator blocks
JRUBY-3165 Add stream/reader based methods to
JavaEmbedUtils.RuntimeAdapter as convenience methods
JRUBY-3215 BSF does not retain local scope between eval calls
JRUBY-3240 YAML: active_support dump of BigDecimal differs from MRI
JRUBY-3263 imcompatibility with Ruby-1.8.6 in YAML parsing
JRUBY-3266 undefined method 'add_ruby_type' for YAML:Module
JRUBY-3297 Array.new with (size, object=nil) returns the value
passed to break
JRUBY-3306 --1.9 mode doesn't know define_singleton_method
JRUBY-3319 Date spec failures
JRUBY-3321 matrix rubyspec failures
JRUBY-3323 rational rubyspec failures
JRUBY-3327 Possible YAML parsing error
JRUBY-3352 JNA-based FFI fails to load for specs on Windows
JRUBY-3368 java.util.List[range] is broken
JRUBY-3380 New 1.9 Enumerator methods
JRUBY-3389 RubySpec: Hash#update raises a TypeError if called on a
non-empty, frozen instance
JRUBY-3403 Socket close_read and close_write should use
appropriate methods on java.net.Socket
JRUBY-3412 YAML.dump loses the timezone when dumping Time instances
JRUBY-3419 JRuby Fails (MRI 1.8.6 works) in Sinatra "helpers" when
no arguments
JRUBY-3433 Encoding.default_internal and Encoding.default_external missing
JRUBY-3442 1.9 allows trailing commas in method invocations
JRUBY-3453 Make import not complain if Java already has already
imported the specific Java class
JRUBY-3473 RubySpec: OpenStruct frozen failures
JRUBY-3478 Dir.new does not work for directories inside jar file
JRUBY-3499 File.expand_path (from inside a jar) uses %20 instead
of space characters
JRUBY-3505 Can't install hpricot (0.7) gem
JRUBY-3518 JRUBY-1786
yaml_initialize not called for subclasses of standard types
JRUBY-3545 ArrayIndexOutOfBoundsException when opening
Bio::FlatFiles (bioruby gem)
JRUBY-3546 ~/.hoerc results in parsing error
JRUBY-3558 RubySpec: Defining instance methods on an eigenclass
define public methods
JRUBY-3559 the integratated joda time version should be in a
distinct package hierarchy
JRUBY-3575 File permission errors installing gems in 1.9 mode
JRUBY-3576 utf-8 string becomes macroman on os x
JRUBY-3577 File and FileTest methods should use to_path to coerce
non-string parameters
JRUBY-3591 Hexadecimal constants do not have the same equal?
behaviour between JRuby and CRuby
JRUBY-3592 Regression test failure (test_grpowned)
JRUBY-3605 [1.9] IO.initialize missing option hash parsing
JRUBY-3606 [1.9] IO.set_encoding is stubbed out
JRUBY-3607 [1.9] IO.external_encoding stubbed out
JRUBY-3611 RubySpec: "StringIO#sysread when passed no arguments" failures
JRUBY-3612 RubySpec: Array#to_s returns '[...]' for the embedded
array in a recursive array
JRUBY-3627 Parsing related methods and class/interdace should have
ManyVarsDynamicScope to share local variables
JRUBY-3653 RubySpec: Hash failures "computes equality for complex
recursive hashes"
JRUBY-3654 RubySpec: Array failures relating to recursive arrays
JRUBY-3662 JavaEmbedUtils should have methods to set/reset Standard I/O
JRUBY-3682 Hashcodes for Hash objects break compatability with MRI
JRUBY-3687 Bundle JSR 223 support in JRuby
JRUBY-3688 IO.read fails to read files in /proc filesystem on Linux
JRUBY-3700 test/externals/ruby1.8/yaml/test_yaml failures
JRUBY-3702 The method methods
JRUBY-3703 TestCommandLineSwitches fails on Windows
JRUBY-3705 Rubyspec: behavior of $: under safe > 1
JRUBY-3706 Rubyspec: method arity behavior
JRUBY-3707 Rubyspec: Process egid behavior
JRUBY-3718 FFI: put_pointer and put_array_of_pointer fails to send
:to_ptr to their argument
JRUBY-3721 sub-optimal IO#read after IO#getc
JRUBY-3722 block parameter problem
JRUBY-3725 Fix for JRUBY-3563 introduces regression in Socket#getnameinfo
JRUBY-3731 --debug causes problems. Methods are missing.
JRUBY-3736 JRuby won't load a .jar if a .so is found too.
JRUBY-3738 jruby 1.3.0 windows vista issues: doesn't output
helpful error if JAVA_HOME undefined, and JAVA_HOME path defined in
quotes not supported
JRUBY-3740 Thread#wakeup not working
JRUBY-3743 Timeout no longer supports sub-second timeouts
JRUBY-3744 Ruby BigDecimal vulnerability seems to affect JRuby as well
JRUBY-3745 RubySpec: Hash#rehash causes a RuntimeError to be
raised if called inside an iterator block
JRUBY-3747 String#gsub! with pattern and block raises a
RuntimeError when self is frozen
JRUBY-3748 RubySpec: Kernel.Integer raises an ArgumentError if
there is a space between the + and number
JRUBY-3750 JRUBY_OPTS="--1.9" results in error "jruby: unknown option --1.9"
JRUBY-3751 YAML.load fails for Struct objects with non-standard initialize
JRUBY-3757 String.split is broken
JRUBY-3759 syslog not available for JRuby --1.9
JRUBY-3761 FileUtils.chown_R produces ArgumentError when the
directory contains a symlink
JRUBY-3766 update .classpath for building jruby with eclipse
JRUBY-3773 CLONE -custom YAML serialization ignored by JRuby
JRUBY-3774 >>define_method :name do | &blk | << ignores
JRUBY-3776 The install-gems goal throws exceptions
JRUBY-3777 Exception on Solaris loading ruby gems
JRUBY-3778 clone of stderr and stdout not working
JRUBY-3782 BSF interface - apply nonfunctional with parameters
JRUBY-3783 Timeout.timeout doesn't raise given exception
JRUBY-3784 More than 2G memory required for jruby -e 'buf =
IO.read("/tmp/1GB.txt"); p buf.size'
JRUBY-3788 argument population of blocks broke in at least one
case somewhere between 1.2 and 1.3
JRUBY-3799 Bug in native timeout module causes hang when waiting on IO
JRUBY-3800 CLASSPATH environment variable should be ignored if
-J-cp or -J-classpath are provided
JRUBY-3806 Encoding problems with File.expand_path after
JRUBY-3576 fix for Macroman issue
JRUBY-3807 jgem --1.9 broken
JRUBY-3808 Gem redclothcoderay doesn't installs under jruby
JRUBY-3809 require 'tmpdir' fails when embedded in a java app that
has messed with the classpath
JRUBY-3810 StringIO#truncate problem
JRUBY-3811 require 'Complex' fails when running in Ruby 1.9 mode
JRUBY-3815 Time#strftime breaks with multibyte characters, affects
I18n#localize
JRUBY-3817 Timeouts in Net::HTTP raise Timeout::ExitException
instead of Timeout::Error for Ruby 1.8
JRUBY-3820 timeout library should throw an anonymous exception
type while unrolling stack
JRUBY-3823 Wrong property in netbeans-ant.xml
JRUBY-3827 WEBrick binds only to localhost, not to requested bind addresses
JRUBY-3828 JavaUtil.convertRubyToJava fails to convert objects in
seemingly random cases
JRUBY-3832 FFI: apparent memory leak when using callbacks
JRUBY-3835 FFI AbstractMemory#get_array_of_uint64 is missing
JRUBY-3836 backquotes can raise IO Error (closed stream)
JRUBY-3838 Exceptions coming out of eval no longer have line numbers
JRUBY-3849 Resolv.getaddress is broken on OSX 1.5
JRUBY-3850 Hash#select returns an Array of entries for which block
is true FAILED
JRUBY-3851 Hash#update raises a TypeError if called on a
non-empty, frozen instance ERROR
JRUBY-3852 Hash#eql? spec failures
JRUBY-3853 Two Enumerable spec bugs for 1.8.7 (one related to break)
JRUBY-3854 Five spec failures in ConditionVariable after merge
JRUBY-3856 YAML.load is broken when loading structs with
initialize method with arguments
JRUBY-3858 NPE in RubyRegexp.java with --1.9
JRUBY-3859 VariadicInvoker missing a BOOL case
JRUBY-3860 Rational(3,-4).to_i should return -1
JRUBY-3861 Shared "box" in DefaultMethod breaking visibility
re-checks in some cases
JRUBY-3862 Socket.pack_sockaddr_in is broken on linux
JRUBY-3863 Support boolean arguments to and return values from ffi callbacks
JRUBY-3867 Nailgun not supported in Windows bat files
JRUBY-3869 'puts []' prints a newline
JRUBY-3870 Object#singleton_methods(true) doesn't include inherited methods
JRUBY-3871 strftime doesn't support %h
JRUBY-3873 StringIndexOutOfBoundsException if the last character
in format is '%' in Time.strftime
JRUBY-3874 it would be nice if LoadService could log where it
searches and what it finds
JRUBY-3875 TypeError when providing nil as the third parameter to
TCPSocket.new/TCPSocket.open
JRUBY-3876 JRuby crashes on using the three-parameter version of
TCPSocket.open
JRUBY-3878 String representation of arrays and symbols does not
match ruby 1.9
JRUBY-3879 Array#pack('d') is incorrect
JRUBY-3882 Java raised exceptions fail to list JRuby caller method
in the backtrace
JRUBY-3884 Rubyspec failures: Dir#inspect includes the directory name
JRUBY-3885 Rubyspec failures: Enumerable#none?
JRUBY-3889 java errors are hidden when an instance of a class is
created and we used the method include_package to load the specific
java package
JRUBY-3890 NativeExceptions have ugly stack traces
JRUBY-3891 JavaSupport.handleNativeException doesn't seem handle
superclasses properly
JRUBY-3892 Running rake rdoc from within jruby-complete.jar
results in "undefined method `key' for nil:NilClass"
JRUBY-3893 Can't require yaml from jruby-complete.jar at head
JRUBY-3894 Problems with __FILE__ and file loaded from a jar
JRUBY-3896 '--ng' in JRUBY_OPTS is not passed correctly
JRUBY-3897 Dir::entries doesn't work within a jar
JRUBY-3907 Time.strftime allows tokens deriving from GNU C library
JRUBY-3908 Addendum to JRUBY-3896
JRUBY-3910 Java List to Ruby Array conversion ~100% slower than
primitive array conversion
JRUBY-3911 hpricot is busted when truncating multibyte strings
JRUBY-3912 FFI - Some Ruby-FFI specs fail on JRuby
JRUBY-3913 Date.strftime bug fixes (%u, %w, %s) and addition of %G
JRUBY-3914 In 1.9 mode, Time.now == nil should return false, not nil
JRUBY-3916 Clean up nailgun directory a little
JRUBY-3922 File.basename doesn't cope with UTF8 strings
JRUBY-3927 Jar complete doesn't compile
JRUBY-3929 checksums for new versions please
JRUBY-3932 Set == broken in 1.9
JRUBY-3933 [19] IO.gets missing additional limit field
JRUBY-3936 Math.gamma fails on certain values when it shouldn't
JRUBY-3937 Socket::getaddrinfo() returns incorrect data on solaris
JRUBY-3941 [19] socket.do_not_reverse_lookup is unimplemented
JRUBY-3942 [1.9] File.new should accept encoding options within
the mode parameter and a hash with options as the third parameter
JRUBY-3945 [1.9] IO and file initialization should ignore internal
encoding when is equal to external encoding
JRUBY-3946 [1.9] Encoding.default_external should get encoding
from default charset when is nil
JRUBY-3947 [1.9] Domain errors on Math.log(0), Math.log2(0),
Math.log10(0), Math.atanh(1), Math.atanh(-1)
JRUBY-3951 TMail fails to install without modifications mkmf.rb
JRUBY-3952 Update pom.xml to reflect move from SVN to Git.
JRUBY-3953 jruby.bat doesn't run on Windows 7
JRUBY-3954 JRuby operating differently from MRI with andand gem
JRUBY-3956 Can't do Enumerator#next in --1.9? Not implemented yet?
JRUBY-3967 remove some duplicated tests that have been added to rubyspecs
JRUBY-3968 YAML.load produces: allocator undefined for Symbol (TypeError)
JRUBY-3969 LICENSE.RUBY is missing in bin and source distributive
for the JRuby 1.3.1 and 1.3
JRUBY-3970 jruby.bat errors out with unexpected characters
JRUBY-3974 In-proc execution loses almost all parent-process config values
JRUBY-3977 "require" won't load jars with ".so" anywhere in the name
JRUBY-3981 Cannot connect to ActiveRecord database
JRUBY-3984 [1.9] Array improvements to solve several specs
JRUBY-3985 [1.9] ARGF improvements to solve several specs
JRUBY-3987 [1.9] Bignum improvements to pass some ruby specs
JRUBY-3988 Fixnums quietly lop off bits when calling methods of
lesser precision than long
JRUBY-3989 nil can't be passed for numeric Java types in some
cases, even though nil.to_i treats it as 0
JRUBY-3990 Fixnums are inconsistently converted when target type
is java.lang.Object
JRUBY-3991 [1.9] Comparable improvements to pass ruby specs
JRUBY-3993 [1.9] Dir improvements to pass some ruby specs
JRUBY-3995 ant bails with unrecognized -d32 option on Windows
JRUBY-3997 IBM JDK does not support some String.format specifiers
JRUBY-3998 Path separators differ between jruby and jruby --ng on Windows
JRUBY-3999 [PATCH] Improved Sorting Algorithm
JRUBY-4000 [1.9] Fixnum improvements to solve ruby specs
JRUBY-4001 [PATCH] Fixed float rubyspecs
JRUBY-4003 NegativeArraySizeException in RubyHash.keys
JRUBY-4004 jrubyc should return a non-zero return code if compilation fails
JRUBY-4011 IO.binmode should raise an IOError on closed stream
JRUBY-4017 [1.8] Method#name and UnboundMethod#name should return
strings, not symbols
JRUBY-4019 Build issues when changes from rev 2eef39 are included
JRUBY-4021 [1.9] undefined methods Hash.compare_by_identity and
Hash.compare_by_identity?
JRUBY-4022 9 rubyspec failures for SecureRandom

···

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