T
Thomas E Enebo
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)
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)