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.enebo / gmail.com