The JRuby community is pleased to announce the release of JRuby 1.4.0RC1 Homepage: http://www.jruby.org/ Download: http://www.jruby.org/download
JRuby 1.4.0 Release Candidate 1 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. Bug reports welcome and requested! ****Please try your apps against 1.4.0RC1 ASAP and report problems**** 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-compatiable syntax error reporting - 205 bugs fixed since 1.3.1 We want to give a couple of special acknowledgements 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. 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.en...@gmail.com --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email