From: Thomas E Enebo Date: 2005-09-30T02:26:53+09:00 Subject: [ANN] JRuby 0.8.2 released http://jruby.sourceforge.net/ JRuby is a project to provide a Java implementation of the Ruby language and interpreter. JRuby 0.8.2 has been released. This version is a large collection of fixes and some refactoring. Thanks to all people on the project and mailing lists for making jruby a much better piece of software. ======================================================================== All Tests Test Results V0.3.5 ======================================================================== Name OK? Tests Asserts Failures Errors ------------------------------------------------------------ Rubicon::TestCase 1 0 AccessControl 4 18 Array 69 587 Arrays 1 0 Assignment 5 75 BasicExpressions 4 15 Bignum 30 1598 Binding 1 0 BlocksProcs 4 61 BooleanExpressions 2 2 CatchThrow 2 1 Class 6 16 Classes 1 0 Comparable 8 26 Constants 3 15 Continuation FAIL 6 0 5 Dir 25 163 Enumerable FAIL 24 192 2 Eval FAIL 9 20 1 4 Exception 7 16 Exceptions 7 6 FalseClass 7 17 File FAIL 37 275 2 23 FileTest FAIL 5 20 5 File__Stat FAIL 33 132 33 Fixnum 36 414 Flip FAIL 7 21 1 Float 29 178 Floats 4 34 GC 5 1 Hash 44 296 Hashes 1 0 IO FAIL 54 1189 1 14 IfUnless 2 2 Integer 10 347 Integers 1 0 Invocation FAIL 6 5 4 KanjiIndex FAIL 21 63 14 Kernel FAIL 110 1117 9 16 LoopStuff 16 66 Marshal 7 31 MatchData 12 18 Math 3 62 Method 5 11 Methods 3 6 Module FAIL 27 118 5 ModulePrivate 16 41 Modules 1 0 Names 1 0 NilClass 9 21 Numeric 11 21 Object 3 11 ObjectSpace FAIL 5 3 2 Pack 14 34 PredefinedVariables 2 3 Proc 5 5 Range FAIL 16 158 3 1 Ranges 1 0 Regexp 15 38 RegularExpressions FAIL 4 26 1 Scope FAIL 13 19 2 SourceLayout 8 23 String FAIL 86 1189 7 5 Strings 6 27 Struct 12 47 Struct__Tms FAIL 2 0 2 Symbol FAIL 13 28 1 2 Symbols 1 0 Thread FAIL 33 74 5 6 ThreadGroup 5 7 Time FAIL 55 1531 6 9 TrueClass 7 17 ======================================================================== All 72 files FAIL 1048 10557 63 128 ======================================================================== User-visible Changes: - Math only defined its functions only as singleton methods - Fixed most numerical conversion protocols (e.g. callCoerced and to_int) - Fixes some concurrency issues in method cache and object space collection - StringIO now passes all of C-Ruby sources unit tests - Allow Class.new to recieve a block - Add IO.binmode - file.read() on empty file returns "" - File test functions do not work properly if cwd changes - Add missing function File#read - Allow expandPath to get a named users home directory if possible - Do not let ReturnJump bubble out to caller (and actually return in eval()) - Add digest support (for md5, sha1, and sha2) - If file is read-only, Java does not like opening a random-access file "rw" - Allow split to work with zero-width positive lookahead regexps - Make Dir#glob work with paths embedded in {}'s - Dir#rmdir now throws ENOENT - Dir#mkdir now throws EEXIST - ENV['HOME'] added - ENV global moved to better location - Dir#chdir can have no arg version now - Dir#chdir now chdirs in the correct location - File#expand_path now understands '~' - Object#methods now returns proper public methods - Fix classMaps of methods being modified during yield (which is bad when that method is called by more than one thread at a time) - RubyArray now implements java.util.List - RubyHash now implements java.util.Map - Fcntl expected as a namespace even if a particular fcntl call does not exist. - Inner classes or modules defined outside inner class/module were getting defined in wrong place (class F::G; end) - Fix concurrency issue by synchronizing some Stacks - Fix dead-lock where dying thread appears to be alive and a second thread waits for the dying thread to yield (at which time it is already dead) - Move abstract stack users a few steps closer java.util.Stack contract - new method cache implementation - Object.public_methods should be alias to Object.methods - to_proc.call not returning an array when an array result - break from blocks can sometimes not throw LocalJumpError - some miscellaneous refactoring - Creating extra block when we shouldn't - Java List objects can now use collect without throwing exception - Remove 'construct' from Enumerable - Smaller block/proc fixes - Calling super from a module method causes a NullPointerException (should call Object method) - method_missing should sometimes throw NameError - Our special cases for nil,true,and false in method_missing is outdated - Remove secondary data store for core classes. Also removed optional ways of getting a reference to said classes. - Range#new did not exist - Ruby modules embedded in jar files were not loading right on windows - Remove finalize() from RubyIO since it should be unneeded and sometimes could close embedders System.out, System.err, and System.in - Invalid glob expressions caused crash (e.g. Dir.glob("{")) - Change Dir.pos= to return Fixnum instead of self - Implement Dir.path - Enumerable#detect and find should return value of failure proc instead of nil - A File mode with File::CREAT is a writeable mode - clone of a singleton instance was failing because we had a check failing to account for differing metaclass in new clone - Add Class.allocate - $! was only getting set in rescue versus when raised - Add Module#included (1.8 method) -- + http://www.tc.umn.edu/~enebo +---- mailto:enebo@acm.org ----+ | Thomas E Enebo, Protagonist | "Luck favors the prepared | | | mind." -Louis Pasteur |