JRuby 1.1RC2 Released

The JRuby community is pleased to announce the release of JRuby 1.1 RC 2


JRuby 1.1RC2 is the second release candidate of JRuby 1.1.  JRuby 1.1
represents a concerted focus on speed and refinement.  Ruby code can
completely compile in an Ahead Of Time (AOT) or Just In Time (JIT) mode;
yielding a faster Ruby!  It also uses less memory than our previous releases.

We need people to download JRuby 1.1RC2 and give us feedback.  Test your
applications and help us make JRuby 1.1 a great release.

- 260 issues resolved since JRuby 1.1RC1
- Large IO refactoring
- Memory improvements for JIT'd methods:
  - Control total number of methods JIT'd
  - Support a JIT cache between runtimes to return permgen
  - Reduce codesize of generated methods (50-70% reduction)

Vladimir Sizikov has been added as a core committer.  His amazing work
on fixing rubyspec failures has made him a welcome addition to the team.

We want to thank all the people who gave us feedback this last release cycle.
We ended up resolving a tremendous number of issues in a short period of time.

Issues fixed since 1.1RC1:
JRUBY-251       Concurrency Issue with IRuby.evalScript(), require etc.
JRUBY-334     Process module does not implement some methods
JRUBY-781     Can't reference java classes that start with a lower case character
JRUBY-864     ant test does not run successfully with thread pooling enabled
JRUBY-867     Iconv character set option //translit is not supported
JRUBY-919     autoload?, autoload, const_defined? do not work well with Colon2's (e.g. autoload Object::Foo, 'blah.rb')
JRUBY-939     Improve automatic conversion between JRuby BigDecimal and java.math.BigDecimal
JRUBY-1003     Rubinius string_spec failures
JRUBY-1047     IO.for_fd missing
JRUBY-1050     If there is a file named date.rb in the same dir that contains a file that requires 'yaml' an exception is thrown when you run the file requiring 'yaml'
JRUBY-1057     Rubinius core/exception_spec failures
JRUBY-1064     Rubinius core/object_spec failures
JRUBY-1067     Rubinius core/thread_spec failures
JRUBY-1068     Rubinius core/time_spec failures
JRUBY-1103     Settting -Xmx and -Xss through environment variable would be more convient
JRUBY-1106     Process.euid() not implemented, causes MailFactory failure
JRUBY-1114     Exception when running instance_eval on a Java Object
JRUBY-1124     Import broken with Rake
JRUBY-1128     Regular expression bug
JRUBY-1142     #! shebang in cygwin uses cygwin paths
JRUBY-1145     Testcase: testBasicStringScalarLoad(org.jvyamlb.YAMLLoadTest): FAILED
JRUBY-1148     Array#== doesn't use custom to_ary method for RHS arguments
JRUBY-1151     BigDecimal to_s displays incorrect number when number has no whole part
JRUBY-1188     JRuby base64 encoding methods appear as both public and private methods.
JRUBY-1214     The behaviour of File.flock is not same with C Ruby
JRUBY-1222     Net::HTTP response error using SSL connection
JRUBY-1272     UNIXSocket not available on JRuby
JRUBY-1277     Mongrel clashes with JVM for the right to handle SIGUSR1
JRUBY-1279     Serialization/Persistence Fix
JRUBY-1294     crash starting jar-console on trunk, r4214
JRUBY-1304     Problem talking to processes. JRuby's read hangs.
JRUBY-1358     Failure in ruby_test String#aset test
JRUBY-1361     Failure in ruby_test Numeric#to_int test
JRUBY-1362     Failure in ruby_test Numeric#truncate test
JRUBY-1371     testTime.rb doesn't work correctly on some configuration
JRUBY-1373     Cannot run JRuby through 'java' when having space in path in JRuby's home
JRUBY-1397     testUTF8Regex.rb doesn't even run anymore
JRUBY-1399     Reflection-based execution is totally broken
JRUBY-1402     spurious warning messages when yaml is analized with debug option.
JRUBY-1414     ArgumentError using to_time string conversion
JRUBY-1433     File::Stat.uid needed for rubyzip
JRUBY-1455     Cloning ARGF in IRB results in a java.lang.ClassCastException
JRUBY-1471     YAML dumping or loading is mucking up object IDs
JRUBY-1485     Some names not being interned by parser / eval
JRUBY-1493     Methods do not always have the right line number in the AST
JRUBY-1495     When a negative Float is YAML::dump'ed, the negative sign is lost.
JRUBY-1496     Update to 1.8.6 stdlib
JRUBY-1501     Update to current RubyGems, hopefully the long-awaited version currently in beta
JRUBY-1502     Trap not returning a proc as the previous handler
JRUBY-1507     Ruby String aset ([]=) with 3 args does not work is start index is one past string length
JRUBY-1509     0o00 is broken
JRUBY-1511     bad shebang line in gem
JRUBY-1516     FileTest#chardev? is not currently implemented.
JRUBY-1517     Embedded null characters in source cause premature EOF
JRUBY-1524     Dynamic classes/classloaders may not be using the appropriate containing classloader, resulting in permgen leaks
JRUBY-1526     NullPointerException when deriving non-existant (lowercase) java-class
JRUBY-1530     Some conflict when using JSON Pure to create a JSON string from a Hash with non-ASCII character
JRUBY-1532     String#chomp misbehaving in 1.1b1
JRUBY-1534     ThreadLibrary Queue#num_waiting and Zlib to_io method not bound correctly.
JRUBY-1535     <clinit> must be generated with static modifier
JRUBY-1536     Giving YAML.load a non-IO object raises a Java error instead of a Ruby error
JRUBY-1537     Sun JVM-specific signal handler should be used only when available
JRUBY-1540 does not give the correct PID
JRUBY-1545     Trying to extend an interface (e.g. class Foo < Interface) NPEs and gives no clue
JRUBY-1552     /o regexp modifier (Ruby compatibility)
JRUBY-1553     Generator sometimes hangs up
JRUBY-1554 should not allow negative
JRUBY-1558     RubyBigDecimal does not dump/load properly when Marshalling
JRUBY-1560     ArrayIndexOutOfBoundsException -1 in RubyString.split(RubyString)
JRUBY-1563     RubyYaccLexer not returning EOF properly
JRUBY-1564     AbstractVisitor doesn't provide empty implementation for visitPreExeNode
JRUBY-1567     StringScanner missing #get_byte
JRUBY-1568     File.symlink shells out to /bin/ln unnecessarily
JRUBY-1571     Calling map on string causes java.lang.ArrayIndexOutOfBoundsException
JRUBY-1581     Signal#trap doesn't handle failure of trapping gracefully.
JRUBY-1585     Incompatible behavior in Comparable#==
JRUBY-1586     Array#initialize_copy is public, but should not be
JRUBY-1589     Float#coerce fails when invoked with String argument
JRUBY-1590     Completely wrong Float::MAX_10_EXP value (negative)
JRUBY-1593     Range#step produces wrong error message
JRUBY-1594     Range#new breaks when 3rd parameter is not boolean
JRUBY-1596     Range#eql? works incorrectly for char ranges
JRUBY-1597     Struct#new behavior differs from MRI
JRUBY-1598     Struct#select allows for non-block arguments
JRUBY-1599     Symbol#to_int should produce warning in verbose mode
JRUBY-1600     Serious incompatibility in Thread#join(limit)
JRUBY-1601     JRuby incorrectly/incompatibly handles "TZ" environment variable (Time spec failures)
JRUBY-1605     Hash#[]= and Hash#store don't follow dup semantics for keys
JRUBY-1607     File#truncate works incorretly deleting entire file content
JRUBY-1610     DynamicScope could benefit from some custom impls that use Java fields rather than an array
JRUBY-1611     Variable access with depth > 0 should be more static
JRUBY-1612     File#truncate creates a new file if the file doesn't exist
JRUBY-1614 should throw Errno::EACCES when opening non-permitted file
JRUBY-1617     RubyZip Zip::ZipFile#read raises TypeError under JRuby; does not do so under MRI
JRUBY-1618     rescue doesn't work with SystemExit exceptions (Regression)
JRUBY-1619 throws TypeError
JRUBY-1625     File.fnmatch works incorrectly with case sensitivity
JRUBY-1626     IO.popen("ruby") hangs
JRUBY-1635     Bug in generators
JRUBY-1640     Generator created from empty Enumarable, just hangs during construction
JRUBY-1643 can't handle blocks, and its yield method works incorrectly
JRUBY-1645     Process.kill support through JNA
JRUBY-1652     Time#gmt_offset returns incorrect values for DST
JRUBY-1653     JRuby incorrectly calculates / and divmod against Rational number
JRUBY-1655     JRuby fails built-in unit tests from time.rb lib
JRUBY-1658     Float's multiplication is incorrect when used with non-built-in type (like Rational)
JRUBY-1659     YAML.load can't handle some valid input
JRUBY-1661     JRuby 10x slower than Ruby on "Wide Finder" script
JRUBY-1663     IO.each_line incorrectly reads empty lines
JRUBY-1664 after ungetc always returns nil
JRUBY-1665     Unhandled Java exception from jMongrel running Rails
JRUBY-1669     IO.puts doesn't follow the specification
JRUBY-1671     jruby bash script fails with bash 2.03 (Solaris 8)
JRUBY-1675     Rails hangs occasionally with JRuby
JRUBY-1682     JRuby files should work with limited functionality within Jar files
JRUBY-1684     Numerous StringIO spec test failures
JRUBY-1686     OutOfMemoryException while reading from a FIFO
JRUBY-1689     Tempfile class random behavior and "Bad file descriptor (Errno::EBADF)" exception
JRUBY-1696     test_dir fails under Windows
JRUBY-1700     rio gem problems
JRUBY-1702     NegativeArraySizeException starting JIRB (ByteList/RubyString)
JRUBY-1704     Broken stdin ( java.lang.OutOfMemoryError ) in Linux environment
JRUBY-1706     [PATCH] Bad format for "frozen" error messages
JRUBY-1708     Compiler blows up with "NoVarsDynamicScope cannot be grown; use ManyVarsDynamicScope"
JRUBY-1715     Incompatible behavior for ||= in Hashes
JRUBY-1723     String#initialize and String#replace on frozen strings behave incompatibly with MRI
JRUBY-1736     Jruby on rails application crashes when starting mongrel
JRUBY-1769     Constructing a transient singleton class should hold the receiver until complete
JRUBY-1776     Exception when installing mongrel gem
JRUBY-1784     The JNA library bundled with JRuby is built against glibc 2.4+
JRUBY-1798     JRuby JIT should have an upper limit on how many methods can be compiled, to avoid eating too much permgen
JRUBY-1808     uninitialized constant OpenSSL::X509::Store
JRUBY-1810     JIT should attempt to locate a previously-compiled method of the same name and position before creating a new one
JRUBY-1821     jruby-webstart integration: open-uri (actually net/http.rb) causes
JRUBY-1822     jruby-webstart integration: copy and paste via system clipboard in jirb.jnlp does not work
JRUBY-1865     java.lang.LinkageError: attempted duplicate class definition for name: "append_features28277251_29404618Invokerjava_class__8Fixed0"
JRUBY-1874     HttpOutput flush doesn't send headers
JRUBY-1879     Random Empty Response with Rails 2.0
JRUBY-1891     JRUBY-1890 Cloned IO objects can be closed independently
JRUBY-1892     JRUBY-1890 pipes should not flush write to read when not in sync mode
JRUBY-1893     JRUBY-1890 Missing method: File#isatty
JRUBY-1894     JRUBY-1890 Missing flush after with a block?
JRUBY-1896     JRUBY-1890 Missing method: IO#stat
JRUBY-1902     AOT compiler does not produce usable output
JRUBY-1907     Monitor synchronize hangs
JRUBY-1908     IO#reopen with File with File::CREAT mode fails
JRUBY-1909     IO#reopen should be able to handle argument of arbitrary type if it responds to "to_io"
JRUBY-1910     IO#reopen incorrectly handles self as an argument
JRUBY-1911     YAML short-hand hashes cause the parser to crash
JRUBY-1915     Failure to load Yaml
JRUBY-1917     File#link and File#symlink should not accept non-string arguments
JRUBY-1918     File#link and File#symlink never report any errors
JRUBY-1919     File#symlink? returns false on broken symlinks
JRUBY-1921     File#link and File#symlink break hard on Windows
JRUBY-1922     Pathing issues (pathname? realpath?) on Windows with GlassFish gem
JRUBY-1923     STDIN not working under Kernel.system
JRUBY-1925     Incompatibility: JRuby 1.1 can't run Glassfish gem
JRUBY-1926 doesn't accept Pathname as its argument
JRUBY-1927     File.lstat on MS Windows should be the same as File.stat
JRUBY-1928     FileUtils.fu_windows? doesn't return true
JRUBY-1933     NullPointerException in
JRUBY-1934     divmod with 0.0 argument should raise FloatDomainError: NaN
JRUBY-1939     UnsatisfiedLinkError: Native Library libjnidispatch.jnilib already loaded in another classloader
JRUBY-1940     Fixnum#+ and Fixnum#* return Fixnum in cases when Bignum is needed
JRUBY-1941     ThreadLocal caches for regexp in RubyString and joni cause classloader leaks in app servers
JRUBY-1943     FileUtils.cp_r incorrectly produces "same file" error when files to be copied already exist in destination directory
JRUBY-1945     The "y" or "-include-dependencies" is not needed anymore with the most recent rubygems.
JRUBY-1946     -0 flag not supported
JRUBY-1947     -C flag not supported
JRUBY-1948     -c flag not supported
JRUBY-1952     -T flag not supported
JRUBY-1953     -W flag not supported
JRUBY-1955     Lucene index search causes major memory bloat + slowdown in 1.1RC1, but not 1.1b1
JRUBY-1956     Class#inherited gets invoked regardless of visibility
JRUBY-1957     IO#dup behavior shows channels should be loosely held by IO objects
JRUBY-1959     Rubyspecs failures for Array#pack with 'ils' patterns
JRUBY-1963     gem install activerecord-jdbc-adapter hangs while installing ri doc on clean svn co and build of JRuby r5607
JRUBY-1965     Problem with glob test running under bamboo
JRUBY-1966     AR models backed by views fail to work
JRUBY-1970 has low precision
JRUBY-1971     Time#getgm and Time#getlocal work incorrectly when usecs present
JRUBY-1979     NullPointerException when tracing script requiring java module
JRUBY-1980     Marshal#dump incorrerctly serializes objects that respond to _dump.
JRUBY-1983     File.utime and File.mtime
JRUBY-1984 should allow a single port parameter
JRUBY-1985     TCPServer.accept should set thread status to 'sleep' before waiting
JRUBY-1986     String extracted with a regular expression cannot be used as pattern in File.fnmatch
JRUBY-1987     dup'ed stream reopened by stream from file descriptor appears to get lost
JRUBY-1988     Kernel#exec should return subprocess exit value and immediately bubble out of caller
JRUBY-1989     Can't create Zip files using RubyZip
JRUBY-1990     File.dirname, and File.symlink failed rubinius spec test
JRUBY-1992     Date::Infinity handling is incorrect
JRUBY-1993     ObjectSpace#define_finalizer behavior does not match MRI
JRUBY-1994     higher javasupport "threads step on each other" test now failing regularly
JRUBY-1995     Warnings from redefining Java classes is annoying
JRUBY-1998     Regression: JRuby prints Exception in thread "main" when it shouldn't
JRUBY-1999     Time#strftime week of year is broken on some systems
JRUBY-2000     IO#tty? returns false for "/dev/tty"
JRUBY-2001     Kernel#sprintf returns result in incorrect register with 'x' pattern
JRUBY-2002     rexml/document references undefined variable
JRUBY-2004     Const definition on non-class/module breaks JRuby hard
JRUBY-2005     Buffered writes in IOHandlerNio (sockets, stdio, other non-file IO) are corrupt
JRUBY-2009     -S script does not set $0 to script launched
JRUBY-2010     Errno errors should allow no-arg constructor
JRUBY-2013     YAML doesn't like serializing ActiveRecord has many associations
JRUBY-2017     Dir.chdir raises a SystemCallError if the original directory no longer exists
JRUBY-2019     YAML.tagged_classes retuns very few items compared to MRI
JRUBY-2021     Thread Problem: Exception in thread ... attempted duplicate class definition..
JRUBY-2023     Serious NIO-multithreading breakage in print/puts on Windows
JRUBY-2024     IO#open, IO#popen, File#open with block should not raise error when io is closed inside the block
JRUBY-2025     jirb_swing not working (r5707), regression in r5665
JRUBY-2026     Update retroweaver jars to 2.0.3
JRUBY-2030     Attempt to load broken Java class breaks JRuby
JRUBY-2031     SystemCallErorr rubyspec regressions and new specs failures
JRUBY-2033     Attribute assignment is twice as slow as MRI
JRUBY-2034     loading a gem (hpricot) which requires a jar not working in webstart with jrubygems
JRUBY-2036     Spec failure in TCPSocket on Mac
JRUBY-2037     String#unpack with "Q/q" patterns always returns Bignums even for small values
JRUBY-2038     IO#seek/pos=, StringIO#seek with non-Fixnum args break JRuby
JRUBY-2039     Various socket spec failures
JRUBY-2043     Temp local variable indices overwriting normal local variables in stack and boxed variable compilers
JRUBY-2044     IO#write breaks JRuby when writing object with special to_s implementation
JRUBY-2045     IO#write should not really check if IO is writable if nothing to write (e.g. empty string)
JRUBY-2046     Ranges in conditions are broken
JRUBY-2050     List module does not allow [Range] and [Num, Num] getters
JRUBY-2052     FileUtils.mkdir_p is broken on Windows
JRUBY-2054     File#join can't handle recursive arrays
JRUBY-2055     Time - () explodes
JRUBY-2056     Time#<=> behavior is incompatible with MRI
JRUBY-2057     Array#join can't handle nested recursive arrays
JRUBY-2060     Eval positioning information from binding is incorrect again.
JRUBY-2061     JRuby should support Unix Domain Sockets
JRUBY-2062     Add ids and convenient data to SyntaxException and IRubyWarning interface to make their life easier
JRUBY-2064     Array.shift leaks
JRUBY-2066     RubyIO and RubyFile have bad conditional translating /dev/null to Windows NUL: device.
JRUBY-2067     AOT Compiler does not Function
JRUBY-2068     rbconfig missing localstatedir
JRUBY-2069     Instantiating Java subclasses is excrutiatingly slow
JRUBY-2070     IO#syswrite can't write non-string objects
JRUBY-2073     IO#foreach failures and crashes with rubyspecs
JRUBY-2075     IO#gets failures with latest rubyspecs (tainting, lineno, $.)
JRUBY-2076     RubyBigDecimal.getValue() needed
JRUBY-2077     File#lineno= breaks JRuby if non-integer argument supplied
JRUBY-2081     Gem server fails
JRUBY-2083     Yaml parsing error with application in JRuby (war format of application)
JRUBY-2084     RubyUNIXSocket read() cases IllegalArgumentException
JRUBY-2085     visibilty faiure on class method defined with 'class << self'
JRUBY-2088     Using the simple package-class syntax for JI gives unintuitive answers when giving arguments
JRUBY-2090     Passing readonly mode to gets File not found error.
JRUBY-2092     Upgrade to jline-0.9.93 fixes 64-bit Windows jirb.
JRUBY-2095     Test failure in run-junit-precompiled (trunk, WinXp)
JRUBY-2096     File#open should not change permissions of existing file, even when permissions specified in arguments
JRUBY-2097     File#umask blows up on Windows
JRUBY-2101     Fix deprecation warning in build on clean target
JRUBY-2104     7 rubyspecs failures for $~ due to recent changes
JRUBY-2105     Method and UnboundMethod do not strictly behave like in MRI
JRUBY-2106     Regression after recent JI changes: Some unit tests cannot be executed, just exit
JRUBY-2109     JRUBY-1890 Rubicon test_io's test_reopen1 fails after IO reorg
JRUBY-2113     Regexp behavior differs a bit from MRIs
JRUBY-2118     File#truncate crashes JRuby with NPE when invoked on closed file

The JRuby community is pleased to announce the release of JRuby 1.1 RC 1


JRuby 1.1RC1 is the first release candidate of JRuby 1.1.  JRuby 1.1
represents a concerted focus on speed and refinement.  Ruby code can
completely compile in an Ahead Of Time (AOT) or Just In Time (JIT) mode;
yielding a faster Ruby!  It also uses less memory than our previous releases.

We need people to download JRuby 1.1RC1 and give us feedback.  Test your
applications and help us make JRuby 1.1 a great release.

- 143 issues resolved since JRuby 1.1b1
- Landing of Java port of Oniguruma (Joni)
- Most Posix methods supported (e.g. stat, kill, getuid)
- Latest Rubygems 1.0.1, RSpec 1.1.1, and Rake 0.8.1 gems
- Updated standard library to be Ruby 1.8.6 compatible

A huge round of thanks goes to Marcin Mielzynski for porting Oniguruma. 
Porting Oniguruma to Java (resulting in a sub-project called Joni)  was a
tremendous amount of work and it turned out great.  We also want to
acknowledge Vladimir Sizikov for the large number of Rubyspecs failure fixes
during this development cycle.  He has been tenacious in getting patches to
us on a daily basis.

Issues fixed since 1.1 beta 1:

JRUBY-15  :  Implement File::Stat.ino and
JRUBY-1052: Rubinius binding_spec failures
JRUBY-1058: Rubinius core/file_spec failures
JRUBY-1061: Rubinius core/kernel_spec failures
JRUBY-1226: JRuby does not work in Web Start because it does not set the ProtectionDomain of Java proxy classes when it creates them
JRUBY-1366: Names when compiling scripts are mangld in some cases
JRUBY-1404: Unstable behavior with ARes in Rails 2.0 PRE1
JRUBY-1415: Proc#to_s should display the position info for the block
JRUBY-1438: Create JNA-based implementations of fstat/lstat
JRUBY-1453: All IO operations in JRuby need to mirror MRI's heavy use of select for all operations
JRUBY-1458: ARGF.rewind blows up (and it shouldnt)
JRUBY-1461: require './NonExistantRequiredFile' causes StringIndexOutOfBoundException instead of LoadError
JRUBY-1462: test_trace_func crashes interpreter
JRUBY-1464: java.lang.ArrayIndexOutOfBoundsException - Exception in thread "Ruby Thread24338914"
JRUBY-1487: weakref.rb could (should?) be implemented in Java
JRUBY-1488: Add ant tasks for running JRuby, and for profiling and debugging code within NetBeans
JRUBY-1497::undefined method for Thread:class. for compiled Jruby classes
JRUBY-1503: disabled objectspace causes failures in Net/HTTP
JRUBY-1506: Blocking Java calls don't work with timeout
JRUBY-1508: Dir#[] and Dir#glob incompatibilities
JRUBY-1515: Compiler is failing to compile files with nonstandard paths
JRUBY-1522: Retry argument evaluation incompatibility
JRUBY-1528: ant Javadoc error when using target create-apidocs
JRUBY-1541: The warinig message is not displayed when useless use of a quote symbol.
JRUBY-1580: Pathname#unlink complains "<file> is not a directory"
JRUBY-1592: Math.Asinh is wrong with negative arguments
JRUBY-1620: needs to be implemented
JRUBY-1621: rss/maker doesn't compile
JRUBY-1622: File.expand_path cannot resolve a relative change to a path inside a jar
JRUBY-1636: JSON_PURE with the new Joni regex fails with array in a Hash, I guess
JRUBY-1641: Cannot run unsigned in Web Start due to accessing system properties
JRUBY-1660: JRuby is 10x slower than MRI on Time objects creation
JRUBY-1666: JRuby needs a test target that attempts to compile all stdlib files, to confirm compiler is at least that complete and not blowing up
JRUBY-1672: JRuby File.rename() behavior different from Ruby, causes log rotation issue
JRUBY-1673: We need to KILL MethodCache.
JRUBY-1680: nailgun slows way down when
JRUBY-1683: attr_reader, attr_writer, and attr_accessor should have arity 0
JRUBY-1684: Numerous StringIO spec test failures
JRUBY-1689: Tempfile class random behavior and "Bad file descriptor (Errno::EBADF)" exception
JRUBY-1695: JRuby in applet fails due Boolean.getProperty security permission
JRUBY-1706: [PATCH] Bad format for "frozen" error messages
JRUBY-1715: Incompatible behavior for ||= in Hashes
JRUBY-1719: String#capitalize! handles frozen empty string incompatibly
JRUBY-1721: String#slice and #[] on tainted string might incorrectly return untainted string
JRUBY-1722: String#<=> doesn't handle non-string arguments, but in MRI it does
JRUBY-1723: String#initialize and String#replace on frozen strings behave incompatibly with MRI
JRUBY-1726: String#inpect and String#dump behavior is different from Ruby
JRUBY-1730: String#slice! and String#[]= with negative ranges behave differently than Ruby
JRUBY-1732: String#rindex works incorrectly with FixNum parameters
JRUBY-1733: String conversions with 0dNNN and 0oNNN formats are incorrect
JRUBY-1734: Memory leak in trap()
JRUBY-1737: String#% can't handle some string arguments with underscores
JRUBY-1738: Kernel.sprintf with argument of some non-standard type doesn't invoke to_int on it
JRUBY-1740: Usage text says ObjectSpace is both enabled and disabled by default
JRUBY-1741: joda-time does not marshal months correctly
JRUBY-1742: String#% with %s and %p handles tainted status of ar
JRUBY-1743: =begin and =end should not be case insensitive
JRUBY-1744: END { } in method should generate a warning and not an error
JRUBY-1745: String#slice! can't handle Float and non-standard numerics as arguments
JRUBY-1746: Various String methods handle tainted flag incorrectly
JRUBY-1748: String#unpack with Z* pattern is incorrect
JRUBY-1750: String#succ! behaves differently from Ruby 1.8 which is also different from MRI 1.9
JRUBY-1751: retroweaver tasks should use verify option
JRUBY-1752: String#* returns incorrect class when used with String subclasses
JRUBY-1754: Regression in specified Time behavior with Joda Time changes
JRUBY-1757: String#dump and String#crypt handle string subclasses incorrectly
JRUBY-1758: String#% incorrectly handles null bytes right after '%' in the pattern
JRUBY-1759: JRubyFileStat gives an NPE for the root directory
JRUBY-1760: Joda Time error installing rails with RubyGems 1.0.0
JRUBY-1762: IRBApplet fails to start due to various security restrictions
JRUBY-1764: unsafe allocation of module and symbol ids
JRUBY-1765: YAML cannot load string with hash symbol
JRUBY-1766: Yaml.load returns obects of different type compared to MRI
JRUBY-1768: RubyGems 1.0.0 hack may be due to yaml_initialize not getting called
JRUBY-1771: gem install mongrel broken
JRUBY-1774: String#% with 'g/G/e/E' patterns produces incorrect output different from MRI
JRUBY-1777: WebStart sample should be provided
JRUBY-1778: Regression: String#match after String#gsub (and vice versa) with the same string work incorrectly
JRUBY-1779: String#unpack with Q pattern is incorrect
JRUBY-1780: String#unpack with X pattern is incorrect
JRUBY-1781: test_higher_javasupport threading test fails periodically
JRUBY-1782: error running sample/jirb.jnlp with signed version of jruby-complete.jar
JRUBY-1785: Failure in test_glob_inside_jar_file
JRUBY-1786: yaml_initialize is not called
JRUBY-1806: String#inspect works incorrectly when KCODE is set
JRUBY-1807: Lots of spec failures for Time
JRUBY-1809: IRBConsole doesn't fully exit the VM when its window is closed
JRUBY-1811: Kernel#` (backtick) should call to_str on the passed string
JRUBY-1812: Kernel#load should accept a second "wrap" parameter that wraps the load in a new anonymous toplevel self
JRUBY-1813: Object#methods should return only singleton methods when passed false
JRUBY-1814: Object#singleton_methods should only return singleton class methods and module methods included into singleton
JRUBY-1815: FileTest#identical? is not implemented
JRUBY-1816: Native File Stat mode comparisons + filetype is borked
JRUBY-1817: native filestat isReadablehave small logic error

JRUBY-1818: Method and UnboundMethod inspect/to_s not quite right

JRUBY-1819: Kernel#require should try to to_str coerce the provided object

JRUBY-1820: Dir.mkdir does not honor mode bits
JRUBY-1823: Proc arity failures for lambdas with a single argument receiving 0 or >1 argument
JRUBY-1824: module_eval should coerce to string
JRUBY-1825: UnboundMethod.clone ends up becoming a Method
JRUBY-1826: UnboundMethod/Method.== fails for some Rubinius specs
JRUBY-1827: Range failures in ruby specs: step and each must have "succ" defined on begin (if not an integral type), each must use spaceship for comparisons
JRUBY-1828: Module.<=> should return nil when other is not a module
JRUBY-1829: eval + friends do not honor line number argument
JRUBY-1830: with block should return last value/returned value of block
JRUBY-1831: ObjectSpace spec test fails from time to time
JRUBY-1832: StringIO spec failures: reopen should truncate actual string, reset mode flags
JRUBY-1833: Time should roll over too-high hours to days and too-high days to months
JRUBY-1834: String#unpack with "m" pattern is incorrect
JRUBY-1835: should return the existing proc associated with a block if one has already been created
JRUBY-1836: AIOOB in String#each spec running with +C
JRUBY-1840: Complex default args that define methods not defining in correct class
JRUBY-1841: throw that bubbles all the way to the top of a non-main thread should result in a ThreadError instead of a NameError
JRUBY-1842: Modifications to $LOADED_FEATURES should be reflected in require behavior
JRUBY-1843: Implement File::readlink
JRUBY-1844: Fix all Dir.glob issues in current Rubinius spec
JRUBY-1845: Implement Kernel::fork (for experimental purposes only)
JRUBY-1848: Bignum#[] should not throw exceptions even when the argument is very big
JRUBY-1849: $defout and $deferr are not changed when $stdout and $stderr modified
JRUBY-1850: UnsatisfiedLinkError with 'mkdir' while running gem
JRUBY-1851: Exception raised while attempting to retrieve a plain text document from a https service.
JRUBY-1857: how to get mac address, gem uuidtools 1.0.2 not working
JRUBY-1858: JRuby reports wrong position in stack trace
JRUBY-1862: Missing constants in Errno
JRUBY-1863: String#% should raise ArgumentError or print a warning when $DEBUG or $VERBOSE are set
JRUBY-1866: [PATCH] RubyGC singleton methods
JRUBY-1867: Module#autoload must validate arguments
JRUBY-1868: Signal.list must list all (short) signal names and their values in a hash
JRUBY-1869: JRuby must be compatible with Ruby 1.8.6 instead of 1.8.5
JRUBY-1870: Object#extend should extend in order from last arg to first
JRUBY-1871: Kernel#proc should raise argument error when no block present
JRUBY-1873: Kernel#exec should raise a SystemCallError if cmd cannot execute
JRUBY-1874: HttpOutput flush doesn't send headers
JRUBY-1875: Integer overflow in Array#fill
JRUBY-1876: Array#initialize should not modify frozen array
JRUBY-1877: Marshalling of Gem::Specification broken under Rubygems 1.0
JRUBY-1878: Failing to send mails to msmtp mail server using IO.popen. For instance impossible to send mails to GMail using msmtp. This is a regression.
JRUBY-1880: Kernel#trap sometimes throws Java-base exception
JRUBY-1881: support stdlib yaml/store
JRUBY-1883: RubySignal should be modified to not try to load Sun-specific Signal classes when they are not present
JRUBY-1885: Reopen of a filename after close should succeed
JRUBY-1898: YAML loading incorrectly returns the same instances for strings
JRUBY-1914: Class file has wrong version 50.0 on Maven repository

JRuby 1.0.3 Released

The JRuby community is pleased to announce the release of JRuby 1.0.3.


JRuby 1.0.3 is a minor release of our stable 1.0 branch. The fixes in this
release include primarily obvious compatibility issues that we felt were
low risk. We periodically push out point releases to continue supporting
production users of JRuby 1.0.x.

- Signal handling fixes involving mongrel
- Smattering of smaller YAML problems fixed
- 28 total issues resolved since JRuby 1.0.2

JRUBY-1691       Rails 2.0.1 not working with trunk
JRUBY-1717     Errors when trying to persist has_many :through objects using Rails 2.0.1 and activerecord-jdbc-adapter 0.6
JRUBY-1697     Mongrel broken w/ 1.0.3 candidate
JRUBY-1471     YAML dumping or loading is mucking up object IDs
JRUBY-1685     Can't run Rails 2.0 app due to exception
JRUBY-1507     Ruby String aset ([]=) with 3 args does not work is start index is one past string length
JRUBY-1358     Failure in ruby_test String#aset test
JRUBY-1552     /o regexp modifier (Ruby compatibility)
JRUBY-1371     testTime.rb doesn't work correctly on some configuration
JRUBY-1509     0o00 is broken
JRUBY-1511     bad shebang line in gem
JRUBY-1414     ArgumentError using to_time string conversion
JRUBY-1537     Sun JVM-specific signal handler should be used only when available
JRUBY-1581     Signal#trap doesn't handle failure of trapping gracefully.
JRUBY-1277     Mongrel clashes with JVM for the right to handle SIGUSR1
JRUBY-1502     Trap not returning a proc as the previous handler
JRUBY-1148     Array#== doesn't use custom to_ary method for RHS arguments
JRUBY-1535     <clinit> must be generated with static modifier
JRUBY-1534     ThreadLibrary Queue#num_waiting and Zlib to_io method not bound correctly.
JRUBY-1067     Rubinius core/thread_spec failures
JRUBY-1553     Generator sometimes hangs up
JRUBY-1694     jossl is using JRuby 1.1 op_aset which does not exist in JRuby 1.0.x
JRUBY-1480     Compare uses of $VERBOSE with MRI
JRUBY-1699     Kernel#system ignores more than one arg if first arg doesn't represent a valid file (e.g. a command name only)
JRUBY-1402     spurious warning messages when yaml is analized with debug option.
JRUBY-1536     Giving YAML.load a non-IO object raises a Java error instead of a Ruby error
JRUBY-518     "useless use" warning fires far too often during Rails execution and testing
JRUBY-1246     Base64Coder#encode(String) has a problem.

Our release of JRuby1.1b1 had a problem in the source distribution files which made them mostly useless.  We just fixed that problem and put up fresh versions of those files.  All should be as it should have been (tm).

 Note: The binary distribution files are fine.  This is ONLY for the *src* versions of these files.

JRuby 1.1b1 Released

The JRuby community is pleased to announce the release of JRuby 1.1 beta 1


JRuby 1.1b1 is the first release towards our goal of JRuby 1.1.  JRuby 1.1
represents a concerted focus on speed and refinement.  Ruby code can
completely compile in an Ahead Of Time (AOT) or Just In Time (JIT) mode;
yielding a faster Ruby!  It uses less memory than our previous releases. 
This is also our most compatible 1.8 release yet.

We need people to download JRuby 1.1b1 and give us feedback.  Test your
applications and help us make JRuby 1.1 a great release.

JRuby 1.0.2 Released

The JRuby community is pleased to announce the release of JRuby 1.0.2.


JRuby 1.0.2 is a minor release of our stable 1.0 branch. The fixes in this
release include primarily obvious compatibility issues that we felt were
low risk. We periodically push out point releases to continue supporting
production users of JRuby 1.0.x.

- Fixed several nasty issues for users on Windows
- Fixed a number of network compatibility issues
- Includes support for Rails 1.2.5
- Reduced memory footprint
- Improved File IO performance
- trap() fix
- 99 total issues resolved since JRuby 1.0.1

Special thanks to the new JRuby contributors who rose to Charlie's challenge
to write patches for some outstanding bugs: Riley Lynch, Mathias Biilmann
Christensen, Peter Brant, and Niels Bech Nielsen.  Welcome aboard...

JRUBY-413       Thread does not define an allocator, and does not respond properly when an attempt is made to Marshal it
JRUBY-905     Thread context classloader should not be saved
JRUBY-1005     Array#pack fails for Q/q directives
JRUBY-1023 does not support 3rd form (file descriptors)
JRUBY-1042     Array block args not expanded when calling explicit block argument
JRUBY-1043     Java proxy InvocationHandler's parameterTypeCache should be thread-safe
JRUBY-1049 not defined
JRUBY-1053     Rubinius class_spec failures
JRUBY-1066     Rubinius core/struct_spec failures
JRUBY-1070     Rubinius language/method_spec failures
JRUBY-1085     gem install rails results in OutOfMemoryError
JRUBY-1111     ARGV not defined when running ruby scripts via BSF
JRUBY-1121     rake hangs
JRUBY-1123     missing encoding attribute
JRUBY-1125     Weird NPE when ObjectSpace._id2ref called for GC'ed object in conditional statement
JRUBY-1129     net/imap failes with parser errors
JRUBY-1139     NPE on unmarshalling new-style "user"-marshalled class
JRUBY-1144     rails script shebang line causes incorrect interpretation
JRUBY-1160     jruby.bat parses argument with "=" incorrectly
JRUBY-1191     method() on alias calls wrong super (but not in our opinion)
JRUBY-1219     Japanese problem in YAML
JRUBY-1229     require throws a LoadError when Jar has a null Manifest
JRUBY-1231'') should return false
JRUBY-1236     Regexp : yet another regular expression diff from MRI
JRUBY-1238     Make Frame#getName and Frame#getPosition public
JRUBY-1242     ClassCastException: org.jruby.ast.NthRefNode w/match variables used as #$1 in here document in string substitution
JRUBY-1243     Module#class_variable_defined? not defined.
JRUBY-1246     Base64Coder#encode(String) has a problem.
JRUBY-1262     RbConfig is not defined
JRUBY-1269     probable bug in ObjectSpace::define_finalize
JRUBY-1274     YAML.dump requires second argument to .respond_to? :write
JRUBY-1275     Java integration violates Module#name contract (reduction of jirb issue)
JRUBY-1286     'Thread.main.exit!' and/or 'Kernel.exit!' does not work under certain circumstances
JRUBY-1287     ant dist is putting unneeded files in resulting zip and tar files
JRUBY-1289     JRuby fails if assertions are enabled
JRUBY-1290     DRb fails to bind to socket: Address in use (Errno::EADDRINUSE)
JRUBY-1295     Invalid instance/class variable and constant names may be set
JRUBY-1302     Intermittent Mongrel failures with "uninitialized constant Errno::ECONNABORTED"
JRUBY-1306     Java 6-based chmod reverses logic for readable and writable
JRUBY-1308 using File::CREAT should imply reading, not writing
JRUBY-1315     'system', 'popen', etc... with spaces in path of jruby does not work system('"C:/foo bar/har har/bin/jruby" doSomething.rb')
JRUBY-1317     Heredocs ending in non-curly expansion do not include final newline
JRUBY-1318     :$`, :$&, :$\, :$+ goes boom
JRUBY-1321     any tab completion after typing object name that doesn't exist folled by a "." crashes jirb
JRUBY-1331     YABAB - Yet Another Block Argument Bug
JRUBY-1333     unpack(M*) does not read encoded value if it is last in the packed value
JRUBY-1334     Iconv exceptions end up exceptioning out during their creation
JRUBY-1335     "gets" method in jirb does not echo to stdout
JRUBY-1336     unpack(M) loses last character
JRUBY-1337     Fix broken unit tests in mri/externals/stringio/test_stringio.rb
JRUBY-1339       Constants nested in a Module are not included
JRUBY-1343     Signal#trap doesn't work
JRUBY-1347     wrong algorithm in _jrubyvars.bat to set the classpath for jruby
JRUBY-1348     gem installation does not set executable rights correctly
JRUBY-1350     CLASSPATH environment variable increases exponentially in _jrubyvars.bat
JRUBY-1353     newSymbol symbolid's make 1.to_sym, etc... give weird answers
JRUBY-1367     rev 4315 changes to _jrubyvars.bat breaks jruby
JRUBY-1368     Attempting'foo', 'w') when './foo' is a directory raises Errno:ERNOENT, but should raise Errno:EISDIR
JRUBY-1370     Call/FCall don't provide incoming block during arg processing
JRUBY-1372     Rails helper loading fails due to Regexp quoting bug
JRUBY-1373     Cannot run JRuby through 'java' when having space in path in JRuby's home
JRUBY-1374     Our File.sync is too over zealous
JRUBY-1375     Dir.mkdir doesn't raise SystemCallError
JRUBY-1379     [PATCH] file.flock(File::LOCK_UN | File::LOCK_NB) support
JRUBY-1380     jruby complete jar file forgot to include jline.dll
JRUBY-1393     JRuby Errno module is missing ECONNABORTED
JRUBY-1394     README.test points people to wrong file name
JRUBY-1401     Pathname#realpath fails for Windows drive letters
JRUBY-1406     Reading streams from launched shell process is slow
JRUBY-1408     JRuby crashes with error: can't find string "EOF" anywhere before EOF (SyntaxError)
JRUBY-1410     Signal on Windows blows up with missing signals
JRUBY-1416     eval of a "proc" with setting the line number for something lower than 1 to adjust the line number causes "java.lang.ArrayIndexOutOfBoundsException: -1 (NativeException)"
JRUBY-1417     Wrong var name inside thread dosent popup exception. With -d optino enabled.
JRUBY-1419     alias_method does not call method_added for the new method
JRUBY-1422     (patch) File.dirname('C:
') returns incorrect results
JRUBY-1423     Range#step - strange behavior with alpha range, numeric step
JRUBY-1426     error occurs when attempting to disable jit at the command line on windows
JRUBY-1427     YAML wrongly serialize String contains certain utf8 characterset
JRUBY-1430     Kernel::rand() is broken for arguments larger than Integer.MAX_VALUE
JRUBY-1432     NFE from RubyYaccLexer.yylex
JRUBY-1435     YieldNodes sometimes have wrong position information
JRUBY-1437     Heap overflow on attempted gem install
JRUBY-1443     Wrong position information for a CallNode with parentheses
JRUBY-1446     FileUtils#mkdir_p causes test suites to not register if the mkdir_p argument already exists
JRUBY-1447     Setting the priority of a dead thread causes NPE
JRUBY-1450     Builtin scripts don't establish a new frame and class when loaded
JRUBY-1451     jruby does not warn about uninitialized instance variables even when warnings are enabled
JRUBY-1452     TCPServer in the midst of accept should still be usable after being Thread.raise interrupted
JRUBY-1460     TCPSockets do not stay fully closed
JRUBY-1465     Test failures under Windows
JRUBY-1468     blocks with var args does not work the same as MRI or JRuby 1.0.1 when the argument supplied is an array
JRUBY-1477     IO Error requiring certain jars in JRoR
JRUBY-1479     irb completion doesn't work for 'java.[TAB]'
JRUBY-1481     don't automatically define ARGV when embedding
JRUBY-1482     Make ARGV default always to [] and configurable through RubyInstanceConfig
JRUBY-1484     JRuby.bat -e and double-quoted string processing broken
JRUBY-1491     MethodCache maintains hard references to Ruby classes and methods that should be weakly referenced
JRUBY-1499     Mongrel log should go to standard out by default. This doesn't happen for some reason
JRUBY-1500     JIRB startup failure "unrecognized switch: -=-" (trunk+WinXp)

JRuby 1.0.1 Released

The JRuby community is pleased to announce the release of JRuby 1.0.1.


JRuby 1.0.1 is a minor release of our stable branch. The fixes for this
release are obvious compatibility issues that we feel are low risk. Our
intention is to periodically push out point releases to help better support
production uses of JRuby.


  • Fixed a issue which caused most multipart processing to not work
  • Fixed issue with sockets that affected some aspects of net/* libraries
  • Fixed network timeout issue for large packets
  • 28 issues resolved

Key Summary
JRUBY-1080 Kernel#system behaves differently under MRI and JRuby for missing commands
JRUBY-1108 IOError exception in Net::FTP using 1.0.0RC3 under WinXP
JRUBY-1110 Concurrent modification exception when exiting IRB
JRUBY-1119 FTP.nlst error !!!
JRUBY-1120 Implementing BigDecimal.mode()
JRUBY-1131 RubyFileTest fails to be compiled in Eclipse
JRUBY-1132 $! gets set to 'uninitialized constant RAILS_FRAMEWORK_ROOT' after Rails Initializer run - inconsistent with MRI
JRUBY-1150 Multipart Uploads still fails.
JRUBY-1156 Implementing BigDecimal.power()
JRUBY-1162 Dump invocations in maven build
JRUBY-1169 YAML parser do not escape nested yaml string correctly
JRUBY-1174 Ranges in if and if_mod evaluate incorrectly
JRUBY-1181 Rake batch file for Windows environments
JRUBY-1191 method() on alias calls wrong super (but not in our opinion)
JRUBY-1200 commit #3984 breaks Webrick startup: active_support/dependencies.rb:266:in `load_missing_constant'
JRUBY-1206 Form's with enctype="multipart/form-data" fail in JRuby/Rails
JRUBY-1220 YAML dump is broken for multi-line string values with leading space
JRUBY-1228 will not accept a string for the port parameter
JRUBY-1239 Monitor synchronize hangs
JRUBY-1244 ENV variables should be removed from the environment when set to nil
JRUBY-1245 File.mtime should raise exception if file is not found
JRUBY-1247 ShellLauncher command line parsing does not handle embedded quotes
JRUBY-1248 StringIO.puts shouldn't append \n if it's already there
JRUBY-1255 Indented heredoc trims trailing '\n' characters
JRUBY-1266 TCPServer doesn't close connection properly using blocks
JRUBY-1270 Unable to round trip paritcular forms of strings using YAML
JRUBY-1271 Jruby error on loading ActiveMerchant plugin
JRUBY-1280 Hash#select block parameter semantics are not cRuby compatible

JRuby 1.0 Released

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


JRuby 1.0 is a major milestone for our project. Our main goal for 1.0 has been Ruby compatibility. We feel this goal has been reached. When we see companies like ThoughtWorks offering commercial JRuby support; we know this goal has been reached. Please download JRuby and take it for a test drive. Try running your Ruby and Ruby on Rails applications with it. Give us feedback. Join our community. Help us continue to improve JRuby.

We cannot say this enough... Our community is what really makes working on JRuby a treat. Whether it is a decent discussion on IRC or a nice reduced test case attached to one of our bugs, we really appreciate all the time people are spending on JRuby. We all get along well and I think the progress really shows. Just think, a little over a year ago we just starting to see simple Rails controllers route! It is amazing how far we have come.

JRuby 1.0.0RC3 Released!

The JRuby community is pleased to announce the release of JRuby 1.0.0RC3.


This will likely be our final release candidate before our 1.0 release.  People are
encouraged to try out this release to help us find any remaining showstopper issues.  We
have spent a lot of time over the last month squashing compatibility bugs and we have
confidence that applications 'will just work' (tm)*.  Please try your applications and
libraries against JRuby and give us feedback.

In the last month we have had a record number of people come in and provide a patch or
report a bug.  Interest in JRuby has exploded since JavaOne and RailsConf, and many
development groups are now testing and deploying JRuby and JRuby on Rails apps in
production. This has really helped accelerate our progress and JRuby is looking much
better because of it.  A few honorable mentions go out to: Koichiro Ohba, Daniel Berger,
David Montag, Dr Nic Williams, and Jon Tirsen.  

We also want to thank all the people who hang out on IRC, triage/report/patch issues, and
communicate on our mailing lists.  Their interest has really helped shape JRuby into a
better implementation.

As we approach our 1.0 release, we encourage Ruby (and JRuby) community members to
contribute to a few projects key to the success of alternative implementations:

- The RubySpec Wiki ( has slowly been growing into a free,
community-driven specification of Ruby. Many people have contributed articles, and several
of those directly aided JRuby development. The more people contribute to the wiki--in any
way--the more it will begin to form a complete specification for Ruby the language and
Ruby the platform. Have you written RubySpec today?

- Both the Rubinius and JRuby projects have been building out their testing suites, to the
point that JRuby now runs more regression/compatibility tests than any other Ruby
implementation and Rubinius has the largest collection of RSpec specifications for Ruby.
We two projects have been coordinating and cooperating on these testing/spec suites, but
they need your help! Check out the JRuby or Rubinius source code and dig into the tests...
you'll be helping both projects and the community at large. For more test suites, check
out the RubyTests project on RubyForge, where it is hoped that all test suites will
eventually reside, and the ruby_test project under the Shards project on RubyForge.

JRuby's tests are at in the test dir.
Rubinius's specs are at in the spec dir.
RubyTests is at
RubySpec is at

* - The trademark is a joke

JRuby 0.9.9 Released

The JRuby community is pleased to announce the release of JRuby 0.9.9.


This release has largely been a stabilization release where we have spent
more focus on Ruby compatibility.  We are gearing up for a 1.0 release.  Here
are some of the more significant acheivements for 0.9.9:

  • Major compatibility and performance overhaul of String, Array, Hash
  • Many YAML and Marshalling issues have been fixed
  • Java Integration overhaul fixing many outstanding issues
  • 180 Jira issues resolved
  • Several more bottlenecks removed
  • Rails applications like Mephisto and plugins like Goldberg are running without hitches
  • Performance has improved by 40% over 0.9.8 based on YARV benchmarks
    With all the hard work done by Marcin Mielżyński and Bill Dortch we are adding
    them as core committers.  Their contributions have made a huge difference in
    our progress as of late.

We also want to thank all people who hang out on IRC, triage/report/patch
issues, and communicate on our mailing lists.  Their interest has really
helped shape JRuby into a better implementation.

Please take JRuby 0.9.9 for a spin and help us root out the last issues
before our 1.0 release!

JRuby 0.9.8 Released

The JRuby team is pleased to announce the release of JRuby 0.9.8.

This release has some great improvements:

  • Ruby on Rails support. We have been working hard on getting Rails own unit
    tests running and over 98% of them now run successfully. We feel things are
    running well enough to invite Ruby users to kick the tires and help root out
    any final issues.
  • Ruby classes can extend concrete/abstract Java classes and override methods
  • New Java primitive array syntax
  • Reimplementation of String, Numeric classes, and Array to be more correct
    and performant
  • Significant bottlenecks have been identified. In some cases IO is 6.5x
    faster than previous releases. Java included classes are significantly
    faster than in the past.
  • 225 Jira issues resolved since last release

At the beginning of this development cycle we added Nick Sieger as a committer
to JRuby. Nick has been a welcome addition to the team.

Special thanks to Marcin Mielżyński for his tireless work in rewriting a
number of core classes to be much more correct and quick. His attention to
detail has rooted out many corner cases.

The amount of IRC conversations, mailing list threads, bug reports, patches,
and blog entries in the community has been a great help and our community is
really making a huge difference in how fast JRuby is improving. The amount
of progress is really staggering....

JRuby 0.9.2 released!

The JRuby team is pleased to announce the release of JRuby 0.9.2.


This release has some great improvements:

  • Extensions openssl and readline now working
  • Code for a new graphical irb console
  • Partial support for iconv and bigdecimal extensions
  • RSpec now supported
  • Improved Rails support
  • Fixed all known block and scoping bugs
  • Enhanced parser performance
  • More compiler and performance work
  • Refactored variable scoping logic
  • 127 Jira issues resolved since 0.9.1

Ola Bina gets accolades for completely writing an openssl clone in Java from
scratch! We are not worthy (smile)

Damian Steer has written a beautiful irb console in Java Swing which has color
highlighting and popup code completion.

Thanks to several new and returning contributors: Anders Bengtsson, Aslak Hellesoy,
Peter K Chan, Thomas Palmer, and Wes Nakamura.

Additional thanks to all the people on our mailing lists who help give feedback and

JRuby 0.9.1 Released!

The JRuby team is pleased to announce the release of JRuby 0.9.1. 


This release has some significant improvements:

- Overall performance is 50-60% faster than JRuby 0.9.0
- Improved Rails support
- New syntax for including Java classes into Ruby
- New interpreter design
- Refactoring of method dispatch, code evaluation, and block dispatch code
- Parser performance enhancement
- Rewriting of Enumerable and StringScanner in Java
- New experimental syntax for implementing interfaces
- 86 Jira issues resolved since 0.9.0

Ola Bini has been inducted into JRuby as a core developer during this development cycle.
He has been coding like an unstoppable machine and we want to make sure he gets the
recognition he deserves.

In addition to contributions from the regular suspects we have several new contributors
worth mentioning: Ryan Bell, Dave Brosius, Miguel Covarrubias, Antti Karanta, and
Michael Studman.

Additional thanks to all the people on our mailing lists who help give feedback and ideas.
JRuby just keeps getting better and better.

Two wikis have been launched to support Rubyists and JRubyists worldwide.

The first is the RubySpec Wiki, to serve as a community-evolved specification of the Ruby language, libraries, runtime, and implementations. Everything from String methods to marshaling specifications can go here, to form a central repository for information on how Ruby really works.

The second is the JRuby Wiki, maintained for and by the JRuby community. Getting Started, HOWTOs, FAQs, and other documentation on JRuby will be available here, and anyone can contribute.

The Wiki phenomenon has helped transform the internet, and now it can help Rubyists and JRubyists alike get and share the information they all need. Contribute an article or edit today!

Charles Oliver Nutter and Thomas Enebo, the two core JRuby developers, will become employees at Sun Microsystems this month. Their charge will be to work full-time on JRuby, rounding out performance and compatibility goals and making Ruby on the JVM as fast and clean as possible.

 Check out the blogosphere for more posts about this exciting turn of events. This can only be good for Ruby, JRuby, and dynamic languages on the JVM. We're very excited about this new future!