Recent News
JRuby 1.6.6 Released
Monday, January 30 2012
The JRuby community is pleased to announce the release of JRuby 1.6.6.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
The primary goal of the 1.6.x series is to round out our 1.9 support by fixing any reported incompatibilities. Of course, as with any JRuby release, we will continue fixing any found incompatibilities and also improve performance. All users of 1.6.5.1 (and lower) are encouraged to upgrade to 1.6.6.
Because master keeps getting further and further away from our 1.6 branch we have decided to make this our last 1.6 release. We largely fulfilled our goal of having reasonable 1.9 support. Follow up fixes for 1.9 support will only be fixed on master from this point forward. JRuby 1.7.0 will be the next release of JRuby.
Notable Changes:
- Updated stdlib to match Ruby 1.8.7p357 and 1.9.2p312
- Updated RubyGems to 1.8.15
- Multiple 1.9-mode yield/splat bugs fixed (pp, rspec 2.8 working again)
- Multiple 1.9-mode encoding bugs fixed
- Critical fixes in Random and Fiber
- Map Scala operator methods to symbolic names ($plus, etc)
1.6.6 Issues Resolved:
- JRUBY-6386 time.localtime not taking any arguments
- JRUBY-6384 yaml broken for last 1.6.6 build?
- JRUBY-6383 Scala integration breaks with 1.6.6
- JRUBY-6382 1.9: Padrino can’t generate an app
- JRUBY-6381 java.util.Collection#each dose not respect to_ary defined by objects that are iteratered
- JRUBY-6380 Original array is overwritten when select! is called on a copy
- JRUBY-6377 rspec .should include() fails in –1.9 mode
- JRUBY-6375 Uninformative YAML parser error
- JRUBY-6373 ThreadError: Mutex is not owned by calling thread, when interrupting thread using a Ruby Mutex
- JRUBY-6370 Regression in 1.6.6 in –1.9 mode
- JRUBY-6367 –pre command line switch not working in 1.9 runtime
- JRUBY-6366 More array splatting bugs in 1.9 mode
- JRUBY-6361 RbConfig reports wrong OS type on Solaris
- JRUBY-6359 Can’t convert nil to String building ActiveSupport RDoc in 1.9 mode
- JRUBY-6354 SyntaxError: (RegexpError) invalid multibyte escape in 1.9 mode in the 50th iteration
- JRUBY-6338 JRuby does not look for .jrubyrc in home directory on Windows
- JRUBY-6324 random seed for srand is not initialized properly
- JRUBY-6323 JRuby does not pay attention to either -U or LANG in determining encoding for ARGV (it is always ASCII-8BIT)
- JRUBY-6319 ‘binding’ returns wrong binding
- JRUBY-6318 Tempfile#open does not return the value of the block given to it
- JRUBY-6307 Powering operation of Integer sometimes gets a wrong calculation when 1.9 mode.
- JRUBY-6303 Cannot gem install from a remote repository in 1.9 mode
- JRUBY-6295 Dir.chdir, $HOME and $LOGDIR behavior
- JRUBY-6284 Calls to Kernel#exit result in an exception printed on stderr
- JRUBY-6282 Colon is not allowed in a file name on Windows
- JRUBY-6281 1.9: Applet does not work in the 1.9 mode
- JRUBY-6272 Encoding exception running JRuby 1.6.5 (1.8 mode)
- JRUBY-6233 jruby-complete-1.6.5.jar!/META-INF/jruby.home/bin/rake missing
- JRUBY-6227 1.9: Struct#members and Struct::members should return an Array of Symbols in 1.9
- JRUBY-6224 In MRI 1.9 the flag for Module#const_get also controls lookup of toplevel constants but not in JRuby
- JRUBY-6217 Coverage module not working with Rails ActiveRecord associations
- JRUBY-6214 Dir#rmdir raises improper exception if directory is not empty.
- JRUBY-6212 IO#inspect in 1.9 could be prettier
- JRUBY-6209 Hash#rehash does not work under some condition
- JRUBY-6208 bad gem file creation using mode –1.9
- JRUBY-6206 Incorrect SHA1 on two required packages in Maven Central
- JRUBY-6205 ‘Bad file descriptor’ when using IO.popen4 with OpenJDK 7
- JRUBY-6204 UTF-8 char in XML hangs in Joni
- JRUBY-6202 JIT-ed class names only use method names, causing collisions
- JRUBY-6201 File reading performance regression
- JRUBY-6200 1.9: Loading some Unicode characters results in non-printable characters on Windows
- JRUBY-6199 JRuby is hardcoded to use ‘-mmacos-version-min=10.4’ which is not compatible with ‘-rpath’ being used
- JRUBY-6198 When calling dup on file open in binmode the new object does not respect binmode
- JRUBY-6192 jruby::Handle declarations use ‘extern “C”’, causing linker symbol mismatches
- JRUBY-6182 Marshal.dump yields different value after adding/removing instance variables (and disagrees with MRI)
- JRUBY-6176 SecureRandom.uuid is not implemented
- JRUBY-6173 pp is broken in –1.9 mode
- JRUBY-6172 Requiring a file from a JAR that has a path inside the JAR that coincides with a path on the file system that includes a symlink fails
- JRUBY-6171 Enumerable does not splat
- JRUBY-6170 Fibers are broken in JRuby 1.6.5
JRuby 1.6.5.1 Released
Tuesday, December 27 2011
The JRuby community is pleased to announce the release of JRuby 1.6.5.1.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.6.5.1 is a special release with a single patch applied to our JRuby 1.6.5 source to correct CERT vulnerability CERT-2011-003. All users are recommended to upgrade to JRuby 1.6.5.1 to get this security fix.
A fuller JRuby 1.6.6 with bug fixes from the last two months will be released mid-January…
Background for the CERT advisory:
(for the impatient: predictable hashing algorithm and open access to a hash from a server can possibly allow Denial of Service (DOS) attacks)
Hashing 101
Hash tables apply a math function (hashing function) to the key of a key-value pair. The result of the hashing function is a location to a hash bucket which stores the key/value pair internally:
a[:heh] = 1
hashing_function(:heh) -> store :heh/1 in hash bucket #3
a[:foo] = 2
hashing_function(:foo) -> store :foo/2 in hash bucket #13
a[:bar] = 3
hashing_function(:bar) -> store :bar/3 in hash bucket #1
Hashes have many buckets and in theory all key/value pairs added to a hash will get spread out evenly across the hashes buckets. In practice, some number of keys will end up hashing into the same hash bucket (known as a hashing collision). As you get more key/value pairs stored to the same hash bucket the time to access those particular key/value pairs will slow down. This is because you need to walk some portion of the entries in the bucket to find the specific one you are looking for (hash structures will often make entries in an individual bucket a simple list structure).
a[:gar] = 4
hashing_function(:gar) -> store gar/4 in hash bucket #3 (same bucket as :heh)
In this example, accessing a[:gar] and a[:heh] may take longer than the other keys because they are sharing a hash bucket.
The Attack
The general application of the attack is for “the bad guys” to figure out a large set of values which will hash to the same hash bucket. Once they create this list they will send all those values to a server. The server will store them in a hash (think parameter list in Rack, for example). The act of storing or accessing any of those values takes longer and longer as the number of entries in a single hash bucket grows. The result will be a Denial Of Service (DOS) attack if enough values get stored.
hashing_function(:hostname) -> hash bucket #3
hashing_function(:aZ1) -> hash bucket #3
hashing_function(:cvg) -> hash bucket #3
hashing_function(:azr) -> hash bucket #3
... # many elided
hashing_function(:1fr) -> hash bucket #3
hashing_function(:yu3) -> hash bucket #3
hashing_function(:hyX) -> hash bucket #3
host = params[:hostname] # Uh oh! need to find this amongst many bucket buddies
The Fix
Adding a little bit of randomization to the hashing algorithm ends up making it much, much more difficult to figure out how to generate this type of attack. JRuby 1.6.5.1 (and all later JRuby releases) all have this additional randomization built into the hashing algorithm. The result should be decent hash bucket distribution that is difficult for attackers to predict. More information
This vulnerability is not exclusively an issue of JRuby. Other Ruby implementations also have a similar issue (also patched today). In fact, Java and PHP also appear to be susceptible to this style of attack. For more information, please see the CERT announcement.
Also, consider that language implementations are really only susceptible to this attack via frameworks which allow an external hacker to store arbitrary and/or unbounded key/values into a hash. Ruby Rack had this vulnerability, but they have fixed things so that the amount of parameters stored is bounded by a size to remove the possibility of a DOS attack. Rack users should upgrade to the latest version.
JRuby 1.6.5 Released
Tuesday, October 25 2011
The JRuby community is pleased to announce the release of JRuby 1.6.5.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
The primary goal of the 1.6.x series is to round out our 1.9 support by fixing any reported incompatibilities. Of course, as with any JRuby release, we will continue fixing any found incompatibilities and also improve performance. All users of 1.6.4 (and lower) are encouraged to upgrade to 1.6.5.
Notable Changes:
- Many –1.9 encoding issues resolved
- .jrubyrc support for storing convenient execution options
- New cext.enabled property to turn off only C extentions but not native support
- C extension support now uses less memory
- Updated to Rubygems 1.8.9
- -rjruby/thread_dump adds a USR2 Ruby thread dumper
- Improved peformance interacting directly with Java Maps
- Improved fiber performance and support for JVM coroutines
- Improved zlib support
- 36 Issues resolved
1.6.5 Issues Resolved:
- JRUBY-5324 StringScanner should be 1.9 aware
- JRUBY-5499 Update to rubygems 1.5.2 since 1.5.0 has severe bugs
- JRUBY-5735 I18n handling of Rails 3.0 differs between 1.9 and 1.8 compatibility mode
- JRUBY-5758 bundler not working in jruby 1.6.1 (ruby-1.9.2-p136) — works in 1.8 mode
- JRUBY-5763 Encoding::CompatibilityError with UTF-8 encoded ERB template
- JRUBY-5778 net http and gzip decompression in 1.9
- JRUBY-5793 java.lang.ArrayIndexOutOfBoundsException installing chicken_little gem
- JRUBY-5794 1.9: Bundler fails to install certain gems from github
- JRUBY-5861 Installing gems that have unicode characters in the gemspec cause an error in 1.9 mode
- JRUBY-5885 java.util.Map#[]= is up to 20 times slower than #put
- JRUBY-5927 JRuby in 1.9 mode fails text-hyphen’s test/test_bugs.rb the same way that 1.8 mode does
- JRUBY-5946 IO.select is returning write array with nil elements
- JRUBY-5994 Bad performance using hash accessors on ConcurrentMap
- JRUBY-6017 Undocumented windowBits feature of Zlib::Infrate/Deflate
- JRUBY-6019 A Ruby instance is not fully unregistered from the BeanManager on teardown
- JRUBY-6030 After calling const_set, setting const name didn’t set Class.name
- JRUBY-6031 ActiveRecord::JDBCError in JRuby 1.6.4
- JRUBY-6034 NullPointerException at RubyProc.java:248
- JRUBY-6036 REXML fails on XML with UTF-8-chars on jruby in 1.9-mode
- JRUBY-6049 Bignum#[] returns an incorrect result when Bignum is given
- JRUBY-6050 Fixnum#[] blows when small Bignum is given
- JRUBY-6053 [1].pack(“b2”) returns an 1-length string
- JRUBY-6060 NKF converts strings into wrong encoding
- JRUBY-6064 Builder gem incompatible in –1.9 mode
- JRUBY-6070 TCPSocket#new issues with local_addr and local_port
- JRUBY-6075 ant dist fails on both master and jruby-1_6 branches
- JRUBY-6077 Allow loading a Ruby source file from the class path using the fully qualified name
- JRUBY-6079 gherkin.lexer.LexingError running cucumber example i18n/it jruby using compatibilty mode 1.9
- JRUBY-6101 JSR 223 code execution breaks with JRuby 1.6.4/1.6.3 with no error message
- JRUBY-6108 bin/jruby script has incompatible bourne shell syntax
- JRUBY-6116 Errors on String#lines
- JRUBY-6118 Dir.glob duplicate folder names
- JRUBY-6135 CASEFOLD systems magically screw up globs with . or .. in them
- JRUBY-6139 JRuby 1.9 mode encoding problem on to_yaml method
- JRUBY-6141 All MatchData objects resulting from an invocation of String#scan are updated with the current match
- JRUBY-6144 1.9 RubySpec failures on BEGIN
JRuby 1.6.4 Released
Monday, August 22 2011
The JRuby community is pleased to announce the release of JRuby 1.6.4.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
The primary goal of the 1.6.x series is to round out our 1.9 support by fixing any reported incompatibilities. Of course, as with any JRuby release, we will continue fixing any found incompatibilities and also improve performance. All users of 1.6.3 (and lower) are encouraged to upgrade to 1.6.4.
Notable Changes:
- 1.9 language and core class fixes
- New Native MacOS installer
- Overloaded Java method dispatch perf fix
- Java dispatch block cercion perf fix
- Disabling native now disables C extension support
- JRuby can be built with 1.9 mode by default
- 48 Issues resolved
1.6.4 Issues Resolved:
- JRUBY-928 Java arrays don’t inherit from java.lang.Object in Rubified Java class hierarchy
- JRUBY-4699 Different select() behavior compared to MRI
- JRUBY-4717 1.9 New digest methods are missing (base64digest and base64digest!)
- JRUBY-4925 Evaluation of constant happens before rhs of assignment (different to mri)
- JRUBY-5146 Enumerator#next has performance issues.
- JRUBY-5441 Attempt to create decimal 2.2250738585072012e-308 sends JVM into tight infinite loop
- JRUBY-5459 JRuby launcher does not observe VERIFY_JRUBY env var to skip boot classpath
- JRUBY-5496 Need to split jar for App Engine
- JRUBY-5546 Using -J-Djruby.reify.classes=true sometimes crashes JRuby 1.6.0RC2
- JRUBY-5564 become_java! does not create java class which can be loaded by the context-classloader (as of >= 1.6.0.RC1)
- JRUBY-5593 stat.st_gid unsupported on this platform (NotImplementedError)
- JRUBY-5622 Regex string interpolation breaks unicode properties
- JRUBY-5737 error: “Unsupported platform: unknown-darwin” when using JRuby’s ffi and Java 1.7 macosx-port build
- JRUBY-5771 WeakRef::RefError wrongly defined as ::RefError, causing lots of runtime warnings when using weakref
- JRUBY-5809 1.9 String.inspect produces wrong output on UTF-8 string
- JRUBY-5896 Could not initialize class com.kenai.jaffl.struct.Struct$Constants
- JRUBY-5906 jruby.reify.classes fails with NPE
- JRUBY-5909 Converting range to array with zip results in TypeError
- JRUBY-5915 “gem build” results in bogus gemspec in –1.9 mode
- JRUBY-5918 Float marshal depends on locale
- JRUBY-5922 Magic comment processing blows up on files with only a comment line with no newline
- JRUBY-5924 Wrong Behavior at MatchData#end and Strings with special characters
- JRUBY-5926 IO#gets and StringIO#gets both throw exceptions when you pass in a limit in 1.9 mode
- JRUBY-5931 Wrong handling of “special” letters encoded in utf-8
- JRUBY-5932 IPSocket.peeraddr should take an argument to note do a lookup
- JRUBY-5933 ENV[]= causes segfault when accessed concurrently from different runtimes
- JRUBY-5935 Add support for the ‘coverage’ lib in 1.9 mode
- JRUBY-5936 IO.select throws ArrayIndexOutOfBoundsException
- JRUBY-5940 StringIO#set_encoding is not implemented
- JRUBY-5941 ZeroDivisionError with DateTime strftime(“%S”)
- JRUBY-5950 When to_ary from yield does not return an array we ClassCast
- JRUBY-5954 Incorrect Method#parameters in 1.9 mode
- JRUBY-5960 Something in rails causes File#each to throw InvalidByteSequenceError in 1.9 mode
- JRUBY-5963 Performance regression in 1.6.x in using procs as Java interface impls (closure conversion)
- JRUBY-5965 JavaClass#handleScalaSingletons() raises & catches hundreds of unnecessary NPEs
- JRUBY-5967 NPE when loading rails
- JRUBY-5968 Mac OSX ant dist failure w/ patch
- JRUBY-5971 Pass Psych taint tests
- JRUBY-5973 Failure to connect to Nailgun server produces confusing error
- JRUBY-5975 Support for –oc and –ic option in NKF
- JRUBY-5979 Process::Status.coredump? implementation w/ patch and ruby test script
- JRUBY-5980 Unable to call varargs constructor with 0 arguments.
- JRUBY-5981 Regression: thread-local UTF8_CODER truncates decoded strings to 1024 bytes
- JRUBY-5984 Java integration broke with latest jruby-1_6 branch HEAD
- JRUBY-5989 MacOSX Installer Build Task Unzip Overwrite Issue w/ patch
- JRUBY-5997 Block argument handling is inconsistent in 1.9 mode
- JRUBY-5998 Enumerator#each on enumerators created with Enumerator.new in 1.9 mode is slow
- JRUBY-6007 Extract some classes from NKF
JRuby 1.6.3 Released
Thursday, July 07 2011
The JRuby community is pleased to announce the release of JRuby 1.6.3.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
The primary goal of the 1.6.x series is to round out our 1.9 support by fixing any reported incompatibilities. Of course, as with any JRuby release, we will continue fixing any found incompatibilities and also improve performance. All users of 1.6.2 (and lower) are encouraged to upgrade to 1.6.3.
Notable Changes:
- 1.9 language and core class fixes
- Ruby object construction performance boost
- Require performance improvements
- Windows native exec fixes
- 39 Issues resolved
1.6.3 Issues Resolved:
- JRUBY-2457 Instantiation of Ruby subclass of Java class does incorrect constructor argument check
- JRUBY-5511 1.9: Failing character iteration specs for StringIO in 1.9 mode
- JRUBY-5669 RubySpec: String#strip failures (1.9 mode)
- JRUBY-5716 Enumerable should provide each_with_object
- JRUBY-5719 Trivial patch to bin/jruby to allow spaces in the path
- JRUBY-5722 Duplicate class definition issue in 1.9 mode
- JRUBY-5724 jrubyc generates classes with the wrong names
- JRUBY-5743 Build fails to run on OpenJDK build on OS X 10.6
- JRUBY-5768 apparent bug in mkmf logic
- JRUBY-5773 assignment in a method with default argument strip off other arguments.
- JRUBY-5807 1.9: String.rstrip brokes UTF-8 string.
- JRUBY-5813 FFI::AutoPointer occasionally calls releaser proc when GC’d, even if autorelease is set to false
- JRUBY-5820 HashMap#map does not splat the arguments to the block
- JRUBY-5824 exec(env, command) and Process.spawn(env, command) throw Errno::ENOENT exception
- JRUBY-5827 FFI enum always maps the value 0
- JRUBY-5828 FFI Structs no longer support bools
- JRUBY-5833 $LOAD_PATH scanning slowness
- JRUBY-5835 ruboto: File#read fails with jruby-jars-1.6.2
- JRUBY-5837 Building jruby in git-free environment fails
- JRUBY-5839 Enumerable#map is picky about it’s internal block arguments in –1.9 mode
- JRUBY-5840 Rails won’t start with -X+C
- JRUBY-5841 Call to ScriptingContainer#setCurrentDirectory is ignored after a call to ScriptingContainer#put
- JRUBY-5844 jruby -x (executing ruby embedded into a message) fails
- JRUBY-5849 make JAVA_VM to be set from environment
- JRUBY-5850 jruby –1.9 : Exception in thread “RubyThread-1: threadtest.rb:1” java.lang.LinkageError: loader (instance of org/jruby/util/JRubyClassLoader): attempted duplicate class definition for name: “threadtest$block_0$RUBY$true?”
- JRUBY-5853 Added WIN32OLE_EVENT#off_event
- JRUBY-5854 conflicting license info in FFI
- JRUBY-5856 CLONE -Kernel.exec will not use a modified ENV PATH to locate commands on Windows
- JRUBY-5857 Should not be able to set ENV keys that contain an =
- JRUBY-5863 Named captures cause crash when there is no match
- JRUBY-5864 jruby bash scripts do not work with msys/mingw
- JRUBY-5871 java.lang.NegativeArraySizeException from RubyEnumerator (after JITed)
- JRUBY-5875 extending Struct and override initialize would make Marshal fail
- JRUBY-5878 Enumerator.map is not yielding all values
- JRUBY-5883 Hash Subclass#== not respected when checking equality of collections.
- JRUBY-5887 Strange error in classloader
- JRUBY-5888 missing File#readbyte
- JRUBY-5889 Problem running JRuby 1.6.2 (via jruby-jars.gem) on 32-bit Systems
- JRUBY-5900 java.lang.ClassFormatError: Invalid method Code length
JRuby 1.6.2 Released
Tuesday, May 24 2011
The JRuby community is pleased to announce the release of JRuby 1.6.2.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.6.2 is our second update to 1.6.x. The main motivation besides spinning incremental releases quicker was a nasty YAML bug which prevented a number of Rubygems from installing (see JRUBY-5581 – ArrayIndexOutOfBounds problem). Expect JRuby 1.6.3 in a couple of weeks.
The primary goal of the 1.6.x series is to round out our 1.9 support by fixing any reported incompatibilities. Of course, as with any JRuby release, we will continue fixing any found incompatibilities and also improve performance. All users of 1.6.1 (and lower) are encouraged to upgrade to 1.6.2.
Notable Changes:
- YAML problem generating an ArrayIndexOutOfBounds Exception JRUBY-5581
- Java names of the form getX were not getting aliases of get_x, x (regression)
- A couple of embedding errors (JRUBY-5734, JRUBY-5635)
- A few 1.9 issues resolved
1.6.2 Issues Resolved:
- JRUBY-5805 Kernel.warn should use 2 writes instead of 1 puts
- JRUBY-5802 Problem loading yaml string in 1.9 mode with JRuby 1.6 and newer
- JRUBY-5791 rvm install jruby-head rewrite’s the current rakes hash-bang invocation to be: #!/usr/bin/env jruby
- JRUBY-5788 Java names with only on capital letter not getting Ruby shortcuts defined
- JRUBY-5787 ConcurrencyError from Array#choice when the Array was truncated before
- JRUBY-5786 SelectorPool file descriptor leak
- JRUBY-5776 secure_random.rb broken on jruby (RangeError: bignum too big to convert into ‘long’)
- JRUBY-5769 SSH connection can fail unpredictably
- JRUBY-5762 Proc#=== is not same as Proc#call in 1.9 mode.
- JRUBY-5740 zip with Range argument does not work in 1.9 mode
- JRUBY-5734 Repeatedly getting ScriptEngine causes (NameError) uninitialized constant #<Class:0x………>::ARGV
- JRUBY-5733 String#unpack: @ directive doesn’t work on substrings
- JRUBY-5729 Process.respond_to?(:fork) must return false
- JRUBY-5728 Array#pack is no longer threadsafe
- JRUBY-5712 Threading issues in 1.6.0 and 1.9 mode
- JRUBY-5689 Regression: wrapException throws unexpected exceptions depending on previously-run code
- JRUBY-5674 Cannot override Fixnum operators
- JRUBY-5665 RubySpec: String#scan failures
- JRUBY-5635 ScriptingContainer.put() does not always work (race condition?)
- JRUBY-5624 Class.new { p eval(“self”, binding) }
- JRUBY-5606 asprintf does not exist on Solaris, so C extensions do not build
- JRUBY-5581 gem install throws java.lang.ArrayIndexOutOfBoundsException
- JRUBY-4828 Null-byte vulnerability
JRuby 1.6.1 Released
Tuesday, April 12 2011
The JRuby community is pleased to announce the release of JRuby 1.6.1.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.6.1 is our first update to 1.6.0. The primary goal of the 1.6.x series is to round out our 1.9 support by fixing any reported incompatibilities. Of course, as with any JRuby release, we will continue fixing any found incompatibilities and also improve performance. All users of 1.6.0 (and lower) are encouraged to upgrade to 1.6.1.
Notable Changes:
- Numerous 1.9-mode features and bugs fixed
- Various fixes to installing and running C extensions
- Kernel.exec on windows does a native exec (CreateProcess)
- Performance fixes for non-blocking IO methods
- Performance tweaks for Array, String, and a few other core classes
- Updated JSR292 (invokedynamic) support
- 193 commits and 47 issues resolved since 1.6.0
1.6.1 Issues Resolved:
- JRUBY-2126 jirb outputs ???? instead of Japanese characters
- JRUBY-2488 Ctrl-D does not work in ‘jirb’
- JRUBY-3943 19: IO objects should use internal encoding to transcode output strings
- JRUBY-4791 IRB with readline “leaks” streams, leaving GC to clean them up
- JRUBY-5044 JRuby throws invalid runtime exception when loading C extensions in different runtimes
- JRUBY-5285 jruby-rake-plugin doesn’t play nice with bundler
- JRUBY-5396 19: YAML anchors & alias merging regression
- JRUBY-5590 IRB completion fails in 1.9 with multiple dot notation elements
- JRUBY-5591 Kconv.kconv throws an NPE
- JRUBY-5592 JRuby 1.6 done blowed up RUBYOPT
- JRUBY-5594 Seeing ConnectionPendingException in my code
- JRUBY-5596 Improve Dalli IO performance
- JRUBY-5597 assignment to Java::byte[] creates range error for values greater than 127 JRUBY-5598 cext/src/invoke.cpp doesn’t include alloca.h
- JRUBY-5599 install-dev-gems target has gems ordered incorrectly
- JRUBY-5600 dist-bin ant target fails because rspec is not installed.
- JRUBY-5601 C extension fails to build on Solaris with newer GCC because of -std=c99
- JRUBY-5602 IndexOutOfBoundsException in Dir.glob_helper for file: path
- JRUBY-5604 JRuby version string should use MRI’s format
- JRUBY-5606 asprintf does not exist on Solaris, so C extensions do not build
- JRUBY-5607 Installing Maven artifacts via rubygems fails: de.saumya.mojo:ruby-tools:jar:0.6-SNAPSHOT is missing
- JRUBY-5608 java.lang.ClassFormatError under IBM JVM
- JRUBY-5609 rubygems maven support does not install artifact from extra repositories
- JRUBY-5610 Socket#accept_nonblock unconditionally raises Errno::EAGAIN
- JRUBY-5624 Class.new { p eval(“self”, binding) }
- JRUBY-5627 JRuby flock silently converts LOCK_EX to LOCK_SH on read-only files
- JRUBY-5628 Missing write_array_of_<foo>() methods
- JRUBY-5629 Backtraces report modules as classes
- JRUBY-5632 19: Incompatible behaviour of splat operator (*) with objects that implement #to_a (w.r.t. MRI)
- JRUBY-5634 File.new (and related paths) unconditionally calling to_int on first arg
- JRUBY-5637 Default exception message uses singleton class when it should not
- JRUBY-5640 Dir#pos= dies if negative value provided
- JRUBY-5641 String.each_line: Newline handling differs between 1.9 and 1.8 compatibility mode
- JRUBY-5646 RubyString.newUnicodeString in 1.9 mode produces ASCII-8BIT
- JRUBY-5648 Method#source_location is nil for methods whose visibility is overridden JRUBY-5649 requiring ‘jruby/profiler’ on a Rakefile causes exception
- JRUBY-5651 java.util.ConcurrentModificationException still occurs
- JRUBY-5680 eval(“self”, Kernel.binding)
- JRUBY-5682 Bundler fails to read some gemspecs under JRuby in 1.9 mode
- JRUBY-5685 IO.popen4 does not work when arguments contain *
- JRUBY-5686 ‘Stabby’ lambdas throw NullPointerException
- JRUBY-5687 Process::Status#exitstatus does not return correct exit status
- JRUBY-5688 Process::Status#pid is missing
- JRUBY-5690 cext GC collects classes and modules that are still in use
- JRUBY-5693 19: Fixnum#** sometimes returns wrong Bignum
- JRUBY-5694 DATA points to wrong file
- JRUBY-5705 Open3.popen3 fails under –1.9 mode
JRuby 1.6.0 Released
Tuesday, March 15 2011
The JRuby community is pleased to announce the release of JRuby 1.6.0.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.6.0 final is out!
JRuby 1.6.0 is the largest release of JRuby to date. This release fixes hundreds of user issues and brings compatibility with Ruby 1.9.2 to a very high level. We have made Windows a primary supported platform by adding it to our continuous integration environment. JRuby 1.6 will provide Windows-based Ruby users with the best experience yet. This release integrates experimental support for C extensions based on Ruby’s C API. And as with all major releases, we have improved stability and performance across the board in response to real-world user input.
Over the next month or two we plan on putting out quicker point releases in anticipation that 1.6.0 will get a new wave of feedback. Give JRuby 1.6.0 a try and let us know how things go.
Major Features:
-
Ruby 1.9.2 language and API compatibility
- Not implemented Encoding::Converter, ripper
-
Improved Ruby call performance
-
Built-in profiler (–profile, –profile.graph)
-
RSpec no longer bundled
-
C Extension support (experimental)
-
RubyGems Maven support (preview)
-
Improved compatibility and user experience on Windows
-
jruby-complete.jar now includes 1.9 standard library
-
Embedding API refinements
-
Over 2000 commits and 270 issues resolved.
JRuby 1.6.0.RC3 Released
Tuesday, March 08 2011
The JRuby community is pleased to announce the release of JRuby 1.6.0.RC3.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.6.0.RC3 is the last release candidate of JRuby 1.6.0.
JRuby 1.6.0 is the largest release of JRuby to date. This release fixes hundreds of user issues and brings compatibility with Ruby 1.9.2 to a very high level. We have made Windows a primary supported platform by adding it as a continuous integration platform, and JRuby 1.6 will provide Windows-based Ruby users with the best experience yet. This release integrates experimental support for C extensions based on Ruby’s C API. And as with all major releases, we have improved stability and performance across the board in response to real-world user input.
We are going to seriously try and make this our last RC before going final. Unless we find something devestatingly bad we will release 1.6.0 and then try and spin smaller point builds every 2-3 weeks to address reported problems.
Notable changes since 1.6.0.RC2:
- New readable backtrace format
- Easier to embed in OSGi environment
- Fixed regression which slowed down jar-based requires
- Add native JFFI bits for x86_64 SunOS (Solaris)
- More platforms with pre-built C extension support
- New jruby-core and jruby-stdlib maven artifacts
- More 1.9 compatibility fixes
Major Features:
-
Ruby 1.9.2 language and API compatibility
- Not implemented Encoding::Converter, ripper
-
Improved Ruby call performance
-
Built-in profiler (–profile, –profile.graph)
-
RSpec no longer bundled
-
C Extension support (experimental)
-
RubyGems Maven support (preview)
-
Improved compatibility and user experience on Windows
-
jruby-complete.jar now includes 1.9 standard library
-
Embedding API refinements
-
Over 2000 commits and 265 issues resolved.
Issues fixed since 1.6.0.RC2
Key Summary
- JRUBY-5491 jruby.reify.classes fails with optparse.rb (trinidad)
- JRUBY-5502 RubyUNIXSocket#recvfrom overflows temporary buffer
- JRUBY-5337 No such file to load – rack when booting JRuby 1.6.0RC1 Rails app in Tomcat
- JRUBY-5472 JRuby bash script no longer supports -X-C and similar options
- JRUBY-5534 Performance issue with JRuby 1.6
- JRUBY-5393 1.9: Can’t run debugger
- JRUBY-5481 Marshal specs failing in 1.8 mode
- JRUBY-5509 gem update_rubygems Fails on JRuby 1.5.3
- JRUBY-5477 Caller stacks now include AbstractScript.java
- JRUBY-4544 JRuby + Java Web Start gems can’t be loaded
- JRUBY-5479 Socket#pack_sockaddr_in fails for port numbers greater than 32383
- JRUBY-5483 become_java! only works on the first subclass of a deep class hierarchy
- JRUBY-5397 1.9: Make String#gsub encoding aware for ruby files
- JRUBY-5503 Timeout::timeout makes IO#close block if there’s a #read present
- JRUBY-5471 private method verify_mode= called with Bundler, net/https, jruby-openssl and RubyGems 1.5
- JRUBY-2513 Stack traces for exceptions do not show the correct line number
- JRUBY-5455 StringIO::ungetc can’t handle the ”;” character correctly.
- JRUBY-5405 FileStat chardev does not work on Solaris 10 x86
- JRUBY-5463 Process.getpriority should raise an error with an invalid process type
- JRUBY-5490 JSR223: propagate the exceptions
- JRUBY-5487 Kernel#select’s read_array parameter is not respected
- JRUBY-5484 Thread#status isn’t set to “sleep” when blocking on a TCPSocket#read
- JRUBY-5473 Use of -Werror when compiling C extension support causes error on OpenBSD amd64
- JRUBY-5480 jrubyc compile loop do …. end error
- JRUBY-5474 Compiling cext support on OpenBSD amd64 uses wrong directory
- JRUBY-5469 Compiling cext support on OpenBSD puts the library under FreeBSD
- JRUBY-5517 RUBYOPT is pulled from system env always, even for in-process child
- JRUBY-4433 win: Writing to a pipe with closed source raises wrong exception
- JRUBY-5501 When embedding jruby the FORCE compile option breaks constants
- JRUBY-5281 jruby-complete jar not working from directory with spaces
- JRUBY-4618 Backtick execution pauses the process
- JRUBY-4469 Process.spawn seems to be completely broken
- JRUBY-2167 Regexp parse errors should not be rescueable
- JRUBY-5190 BigDecimal#to_f always returns 0.0 for large precisions
- JRUBY-4446 windows: File.grpowned? fails RubySpecs
- JRUBY-5468 rb_time_new prototype doesn’t match definition
- JRUBY-3431 String#encode (and decode?) missing from Ruby 1.9 String
- JRUBY-5434 Random “Detected invalid array contents due to unsynchronized modifications with concurrent users” with Rails 3.0
- JRUBY-1166 ‘public_instance_methods’ different from MRI within Rake (breaking Needle)
- JRUBY-4156 1.9: jruby -S rake spec fails to find ‘spec/rake/spectask’
- JRUBY-5447 maven gem support not working on windows?
- JRUBY-4788 Stackoverflow when calling code from java with wrong parameters
- JRUBY-4914 Process.spawn gives wrong pid in windows
- JRUBY-5498 important JRuby 1.6 startup time regression launching JRuby script from JSR223 (12 sec -> 45 sec)
- JRUBY-5554 Simplify jirb_swing script
- JRUBY-5525 NPE Loading OSEnvironment on Windows
- JRUBY-5552 Method#source_location is nil for methods defined via define_method or define_singleton_method
- JRUBY-5528 JDBC Driver Unloading should be configurable
- JRUBY-5550 Using shoulda prevents Rails from running tests in ruby1.9 mode
- JRUBY-5557 SnakeYAML dependency missing from Maven poms
- JRUBY-5548 rb_call_super causes SystemStackError when used in both current class and ancestor class in a C extension
- JRUBY-5545 JRuby 1.6RC 2 is missing Solaris 10 x86 64bit JFFI support
- JRUBY-5541 Problem with java_import on Android (Ruboto)
- JRUBY-5539 marshal fails in 1.9 with strings
- JRUBY-5532 IO.foreach: Can’t convert Hash into String
- JRUBY-5531 Process.spawn(“ruby”) gives garbage PID
- JRUBY-5514 Errno::EBADF is sometimes raised instead of IOError when TCPSocket#readline is called after TCPSocket#close
- JRUBY-5515 Digest::SHA2 NameError in (1.6.RC2 – 1.9 mode)
- JRUBY-5384 org.jruby.embed.osgi suport in OSGi for ruby code and java code loaded from OSGi bundles
- JRUBY-5522 system(“@command”) should work in windows
- JRUBY-2519 Dir instance object caches directory contents
JRuby 1.6.0.RC2 Released
Wednesday, February 09 2011
The JRuby community is pleased to announce the release of JRuby 1.6.0.RC2.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.6.0.RC2 is the second release candidate of JRuby 1.6.0.
JRuby 1.6.0 is the largest release of JRuby to date. This release fixes hundreds of user issues and brings compatibility with Ruby 1.9.2 to a very high level. We have made Windows a primary supported platform by adding it as a continuous integration platform, and JRuby 1.6 will provide Windows-based Ruby users with the best experience yet. This release integrates experimental support for C extensions based on Ruby’s C API. And as with all major releases, we have improved stability and performance across the board in response to real-world user input.
We encourage Ruby and JRuby users alike to test out 1.6.0.RC2 to help us shake out remaining issues. It would be especially helpful if users would test out 1.9 mode (by passing –1.9 flag) to help us round out our 1.9.2 compatibility before the final 1.6.0 release.
Notable changes since 1.6.0.RC1:
-
Large number of 1.9 compatibility issues addressed
- Encoding issues (especially involving Regexp)
- Fiddle implementation
- non-ASCII identifiers
-
irb (1.8.7, 1.9.2) and command prompt added to Windows installer
-
Compiler handles all 1.9 syntax now
-
Fixes for new backtrace accuracy, reliability
-
Removed all GPL or LGPL-only dependencies
-
Updated to RubyGems 1.5.0
-
C extension support prebuilt for OS X, Linux (32/64), Windows (32)
-
83 issues resolved since RC1
Major Features:
-
Ruby 1.9.2 language and API compatibility
- Not implemented Encoding::Converter, ripper
-
Improved Ruby call performance
-
Built-in profiler (–profile, –profile.graph)
-
RSpec no longer bundled
-
C Extension support (experimental)
-
RubyGems Maven support (preview)
-
Improved compatibility and user experience on Windows
-
jruby-complete.jar now includes 1.9 standard library
-
Embedding API refinements
-
Over 2000 commits and 265 issues resolved.
Issues fixed since 1.6.0.RC1
- JRUBY-5382 Timeout is firing late under load
- JRUBY-4764 Leaking fileno to ChannelDescriptor mappings in Ruby.retainedDescriptors.
- JRUBY-5345 require ‘ffi’ breaks in windows jar when the path to the jar contains spaces/special chars
- JRUBY-5229 Interpreter is slower for microbenchmarks after “backtrace” merge
- JRUBY-5354 undefined method ‘map’ for {}:Java::JavaUtil::HashMap
- JRUBY-5341 1.9 Rescuing a specific error throws up a Java Exception when $DEBUG is true
- JRUBY-3331 to_f near Float::MAX
- JRUBY-5460 ant test-1.9 doesn’t run any test at all
- JRUBY-5353 new map proxy’s inspect method doesn’t work when Map object is created in Ruby
- JRUBY-2564 File.open interprets ‘/dir’ as ‘./dir’ on Windows
- JRUBY-5347 Float#round(int) isn’t implemented in 1.9 mode
- JRUBY-5358 Arg-passing or splatting error in jitted execution
- JRUBY-5365 java.util.HashMap.new.kind_of? java.util.Map returns false
- JRUBY-5372 Failures in 1.9 test/ruby/test_alias
- JRUBY-4878 Can’t run ruby file with utf-8 characters
- JRUBY-5377 Class.__subclasses__ incompatible with Rails
- JRUBY-4816 Very simple bug with character replacing
- JRUBY-5368 Star and unnamed restarg treated differently in 1.9 mode Proc#parameters
- JRUBY-5342 Add Scala-specific JI logic
- JRUBY-5387 Unable to run Rails tests since we use Psych as default yaml lib
- JRUBY-5315 Time constructors don’t support fractional seconds
- JRUBY-4580 unable to run jirb in –fast
- JRUBY-4178 gzip oddity
- JRUBY-5395 camelCase to snake_case conversion regression
- JRUBY-4904 Aliased method fails equality test
- JRUBY-4871 1.9 Attempt to invoke any method on Delegator leads to ClassCastException
- JRUBY-3434 Ruby 1.9 mode should guess system encoding if not specified
- JRUBY-5399 1.9: Dir#[] doesn’t convert Pathname args to String
- JRUBY-5219 Problem w/ JRuby, Warbler & Weblogic 10
- JRUBY-4722 ant bails with unrecognized -d32 option on OS X on some architecture/os-version/java-version combinations
- JRUBY-4946 Having an attribute named timeout breaks factory_girl under jruby
- JRUBY-5366 jruby 1.6 RC1 ruby 1.9: org.jruby.RubyBasicObject cannot be cast to org.jruby.RubyObject
- JRUBY-5417 Nil backtrace when overriding method_missing and calling super
- JRUBY-5326 1.9: Java error in Psych when running “gem build” command
- JRUBY-5412 Strange each_slice/with_index combo exception
- JRUBY-5016 1.9: SyntaxError when a block var shadows local var
- JRUBY-5356 –profile.graph sometimes shows wrong methods
- JRUBY-5363 Kernel#caller behavior is different for files with .rbw extension
- JRUBY-5261 RSpec >= 2.2 around hooks trigger runtime NPE
- JRUBY-5406 1.9: String#encode does not support “locale” as an encoding
- JRUBY-5418 Getting NativeException: org.jruby.RubyContinuation$Continuation: null with RSpec 2 and EventMachine
- JRUBY-5346 jruby 1.6.0.RC1 doesn’t recognize multibyte strings in 1.9 branch
- JRUBY-5389 IO.popen doesn’t support Array of String’s arg in 1.9 mode
- JRUBY-5433 Process.abort should only accept string arguments
- JRUBY-5431 Kernel#exit! without arg causes wrong process exit code
- JRUBY-5236 test/org/jruby/util/shell_launcher_test is not getting +x set in src dist
- JRUBY-5394 1.9: Array#join using to_a instead of to_s when both defined
- JRUBY-5436 File.open mode doesn’t accept “r:ENC:-”
- JRUBY-5407 add_method_signature causes a VerifyError if used for more than return type.
- JRUBY-5364 become_java! / RubyClass.reify regression
- JRUBY-5429 jruby-complete.jar relocates org.objectweb.asm, but jruby.jar does not
- JRUBY-5143 Encoding of ByteList is not set
- JRUBY-5444 IOJavaAddons.AnyIO pollutes Object unnecessarily
- JRUBY-5450 Marshal.load and Marshal.dump not implemented?
- JRUBY-5355 1.9: defined? does not yet compile, is used by RubyGems
- JRUBY-4749 require ‘rbconfig’ fails on GAE because of NullPointerException
- JRUBY-4849 Provide or update links to source/project, attribution, and license info for all libraries ship with JRuby
- JRUBY-5203 included Module is not picked up by runtime
- JRUBY-4907 popen4 reports wrong PID on Windows
- JRUBY-5343 ScriptingContainer throws LoadError when there are spaces in the classpath (Ruby 1.9 mode only)
- JRUBY-5367 Rake/Gem::PackageTask fails with the rubygems 1.4 upgrade, when using java platform
- JRUBY-5410 JRuby needs to provide a dist free of GPLed libraries, for GPL-sensitive consumers like Apache
- JRUBY-5388 Requiring a filename with accented characters fails
- JRUBY-5376 singleton_class.define_method creates private methods
- JRUBY-5378 Memory Leak With JRuby/Tomcat
- JRUBY-5413 Bundled version of Rubygems (1.4.2) fails when behind a proxy
- JRUBY-5281 jruby-complete jar not working from directory with spaces
- JRUBY-5213 –profile needs to dump even on ^C, other means of getting info, multi-thread
- JRUBY-5453 NullPointerException in ScriptingContainer.setCurrentDirectory()
- JRUBY-4910 jruby.exe + multibyte-character is broken
- JRUBY-5448 Maven gem support should report and abort when using <mvn3
- JRUBY-5336 jruby –1.9 Object#id should raise NoMethodError
- JRUBY-5391 MongoMapper’s usage of defined? is handled incorrectly
- JRUBY-4488 Joni matches [^\w] incorrectly, and differently to MRI/187
- JRUBY-5340 Non-greedy item can cause Regexp to get stuck
- JRUBY-4951 1.9: Thread#backtrace should apply to the thread in question
- JRUBY-5108 Regex incompatibility between MRI and JRuby
- JRUBY-4768 ‘jruby -X’ should be more friendly
- JRUBY-5398 Generated Javadoc for ScriptingContainer cuts off in the middle
- JRUBY-5430 RubyHash view objects should be static
- JRUBY-5334 Abbrev.abbrev with multi-byte strings returns another result
- JRUBY-5445 JRuby cannot parse a magic comment like #-- mode: ruby; --
- JRUBY-4949 Make ARGV via embedding work same as it does when running jruby itself
- JRUBY-4271 interfaces on reified classes patch was incomplete and broke instances being passed to java code.
JRuby 1.6.0.RC1 Released
Monday, January 10 2011
The JRuby community is pleased to announce the release of JRuby 1.6.0.RC1.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.6.0.RC1 is the first release candidate of JRuby 1.6.0.
JRuby 1.6.0 is the largest release of JRuby to date. This release fixes hundreds of user issues and brings compatibility with Ruby 1.9.2 to a very high level. We have made Windows a primary supported platform by adding it as a continuous integration platform, and JRuby 1.6 will provide Windows-based Ruby users with the best experience yet. This release integrates experimental support for C extensions based on Ruby’s C API. And as with all major releases, we have improved stability and performance across the board in response to real-world user input.
We encourage Ruby and JRuby users alike to test out 1.6.0.RC1 to help us shake out remaining issues. It would be especially helpful if users would test out 1.9 mode (by passing –1.9 flag) to help us round out our 1.9.2 compatibility before the final 1.6.0 release.
Major Features:
-
Ruby 1.9.2 language and API compatibility
- Not implemented Encoding::Converter, non-ASCII identifiers, ripper, fiddle
-
Improved Ruby call performance
-
Built-in profiler (–profile, –profile.graph)
-
RubyGems 1.4.2
-
RSpec no longer bundled
-
C Extension support (experimental)
-
RubyGems Maven support (preview)
-
Improved compatibility and user experience on Windows
-
jruby-complete.jar now includes 1.9 standard library
-
Embedding API refinements
-
Over 2000 commits and 265 issues resolved.
JRuby 1.5.6 Released
Friday, December 03 2010
The JRuby community is pleased to announce the release of JRuby 1.5.6.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.5.6 is a minor follow-up release to address problems with mirroring of 1.5.5 in maven, update to 1.0.3 of jruby native launcher, and a few undesirable issues in windows. All users of JRuby 1.5.5 (and lower) are recommended to upgrade to 1.5.6.
1.5.6 Issues Resolved:
- JRUBY-4352 Rbconfig’s Config::CONFIG provides wrong name for Windows 2008 Server, based on input from Rakesh Arora. (See 07fb757.)
- JRUBY-4774 Fix classpath and load path issues related to file paths containing spaces
- JRUBY-4898 java.util.ConcurrentModificationException
- JRUBY-5127 become_java! doesn’t add Ruby class methods as statics on the resulting Java class
- JRUBY-5223 Marshal.load fails when Kernel.read is defined
Not in our tracking system:
- ant.bat should be specified on Windows
JRuby 1.5.5 Released
Wednesday, November 10 2010
The JRuby community is pleased to announce the release of JRuby 1.5.5.
(Note: Due to a showstopper bug found after the release jruby-jars gem and the inability to remove gem releases from rubygems.org we have skipped from 1.5.3 to 1.5.5. The 1.5.5 release is the same release that would have been 1.5.4 had we been able to re-release jruby-jars.)
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.5.5 is a minor follow-up release to address problems executing some commands on Windows, a couple of Marshalling discrepancies with MRI, and a few other random production-affecting issues. We also improved the output and accuracy of –profile (try it out). All users of JRuby 1.5.3 are recommended to upgrade to 1.5.5.
1.5.5 Issues Resolved:
- JRUBY-4766 Updated jaffl for YourKit compatibility
- JRUBY-4865 Ant.load_from_ant is broken on Windows
- JRUBY-4940 Cucumber Japanese example raises exception on JRuby
- JRUBY-5064 Marshalled ruby hash gets loaded incorrectly
- JRUBY-5110 kernel.system not working in 1.5.3 on Windows
- JRUBY-5112 Cannot run ‘jruby -S rake test’ for Rails project on Windows in 1.5.3
- JRUBY-5122 Webrick socket.readline causes 100% cpu usage
- JRUBY-5123 Marshal dump format error and inconsistencies with MRI
- JRUBY-5132 java.awt.Component.instance_of?() expects 2 args
- JRUBY-5133 Backtick operator does not work on Windows in 1.5.3
- JRUBY-5138 requiring ‘ffi’ defines class method :error on Module
- JRUBY-5168 Can’t include interfaces in a synchronized class
JRuby 1.5.3 Released
Tuesday, September 28 2010
The JRuby community is pleased to announce the release of JRuby 1.5.3.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.5.3 is a minor follow-up release to address a thread deadlock, a spurious error involving selectors on windows, and a couple of fixes affecting bundler exec (and generally improves our exec() behavior). We also fixed a few highly specialized issues which should have no affect on most users. All users of JRuby 1.5.2 are recommended to upgrade to 1.5.3.
1.5.3 Issues Resolved:
- JRUBY-5093 ConditionVariable use causes thread deadlocks
- JRUBY-5076 SelectorProvider.openSelector() will sometimes fail on Windows
- JRUBY-5098 Kernel#exec does not heed ENV['PATH'] when launching shell command
- JRUBY-5100 Subprocess started by Kernel#exec does not respect RUBYOPT and other environment variables set via ENV.
- JRUBY-4944 JSR-223 ScriptEngine ignores global bindings
- JRUBY-4948 Remove noisy warning when setting ScriptEngine.ARGV
- JRUBY-5092 Scala classes (and perhaps others) are named oddly and break Java reflection
- JRUBY-4937 File.open with permissions has sideffect of clearing umask
JRuby 1.5.2 Released
Friday, August 20 2010
The JRuby community is pleased to announce the release of JRuby 1.5.2.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.5.2 is a minor follow-up release to address a few file descriptor and class loading leaks. There is also a security fix for users of Webrick (see http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0541). All users of JRuby 1.5.1 are recommended to upgrade to 1.5.2.
1.5.2 Issues Resolved:
- JRUBY-4767 JRuby and open-uri File handle issue
- JRUBY-4981 Anonymous classes are piling up and filling up PErmGen, eventually causing a crash
- JRUBY-4841 CLONE -Memory Leak when extending Java class with additional Ruby instance variable
- JRUBY-5007 XSS in WEBrick (CVE-2010-0541)
- JRUBY-5018 SSLSocket holds selectors, keys, preventing quick cleanup of resources when dereferenced
JRuby 1.5.1 Released
Monday, June 07 2010
The JRuby community is pleased to announce the release of JRuby 1.5.1.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
JRuby 1.5.0 was a long overdue and huge release. JRuby 1.5.1 is a minor follow-up release to address some of the more visible issues discovered after the release of 1.5.0. Everyone is encouraged to move to 1.5.1. Users of JRuby’s Java integration or those deploying on Google AppEngine will need to upgrade to 1.5.1.
1.5.1 Issues Resolved:
- JRUBY-4799: Uncaught AccessibleObject.setAccessible fails on App Engine
- JRUBY-4839: ObjectSpace.undefine_finalizer does not work
- JRUBY-4838: JRuby exit hangs on ChannelStream.finalize
- JRUBY-4795: regression: JRuby 1.5 doesn’t pick up JDBC drivers from CLASSPATH
- JRUBY-4832: Memory Leak when extending Java class with additional Ruby instance variable
- JRUBY-4790: Regression processing END between JRuby 1.4 and 1.5
- JRUBY-4803: Known bug in net/http.rb
- JRUBY-4844: jruby behaves differently from MRI with (rails 2.3.8) activerecord associations
- JRUBY-4837: FileUtils.touch does not update the mtime of directories on Windows
- JRUBY-4821: IO#open(&block) + close sets $! which disables Test::Unit::Autorunner
- JRUBY-4831: Multiple block args to ActiveRecord association proxy are splatted incorrectly
- JRUBY-4825: FILE is not expanded when it is used from within a a compiled ruby script used as the main class of an executable jar
JRuby 1.5.0 Released
Wednesday, May 12 2010
The JRuby community is pleased to announce the release of JRuby 1.5.0.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
This development cycle has been our longest cycle yet (nearly 5 months), but it also has the most fixes. It also includes many new notable features (see below). Most of our bug fixes have been more of what we consider fine-tuning, since we keep getting into smaller corner-cases of compatibility for individual Ruby methods. In that sense, we expect if you had a good experience with JRuby 1.4.0 then 1.5.0 will be a no-brainer upgrade. If you haven’t tried JRuby in a while with your application, then please give us another try. Odds are whatever issue you were having before no longer exists!
1.5.0 Highlights:
- New native access framework designed for performance and better FFI support
- Native launcher for *NIX platforms
- Ant support and Rake-Ant integration
- Better and better support for Windows
- Multiple performance improvements for Ruby-to-Java calling, improving correctness, memory, and speed.
- Embedding API improvements based on user input (JSR-223, BSF, RedBridge, etc)
- Software updates: Ruby 1.8.7 standard library update, RubyGems 1.3.6, RSpec 1.3.0
- ruby-debug installed by default
- Many fixes for Rails 3
- Various improvements to startup time
- Improved performance for Object#object_id/__id__
- Reduced memory use for Java class metadata and faster loading of Java classes
- jar-in-jar support in the classloader
- The “open4” library now works properly
- jruby.jit.codeCache=dir to save jitted scripts/methods to disk in a sha1-hashed .class file
- New logic for interface implementation that produces “real” classes
- jruby.ji.objectProxyCache to turn off OPC for extra performance
- JRuby::Synchronized module for making a class and its subclasses 100% synchronized on all calls
- Miscellaneous perf improvements to core classes and minor improvements in the JIT
- No more ObjectSpace during IRB
- Cleaned up maven artifacts
- Windows Installer fixes for x64 and Windows 7 security
- Over 1250 commits since JRuby 1.4
We always appreciate community contributions. This cycle we’ve had more help than ever: David Calavera, Stephen Bannasch, Daniel Luz, Ian Dees, Koichiro Ohba, Hongli Lai, Hiroshi Nakamura, Colin Jones, Takeru Sasaki, Roger Pack, Matjaz Gregoric, Joseph LaFata, Frederic Jean, Alex Coles, Lars Westergren
JRuby 1.5.0.RC3 Released
Tuesday, May 04 2010
The JRuby community is pleased to announce the release of JRuby 1.5.0.RC3
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
This development cycle has been our longest cycle yet (nearly 5 months), but it also has the most fixes. It also includes many new notable features (see below). Most of our bug fixes have been more of what we consider fine-tuning, since we keep getting into smaller corner-cases of compatibility for individual Ruby methods. In that sense, we expect if you had a good experience with JRuby 1.4.0 then 1.5.0.RC3 will be a no-brainer upgrade. If you haven’t tried JRuby in a while with your application, then please give us another try. Odds are whatever issue you were having before no longer exists! And we would really like help making sure JRuby 1.5.0 final is a solid release…so please try and report back with any problems.
1.5.0 Highlights:
- New native access framework designed for performance and better FFI support
- Native launcher for *NIX platforms
- Ant support and Rake-Ant integration
- Better and better support for Windows
- Multiple performance improvements for Ruby-to-Java calling, improving correctness, memory, and speed.
- Embedding API improvements based on user input (JSR-223, BSF, RedBridge, etc)
- Software updates: Ruby 1.8.7 standard library update, RubyGems 1.3.6, RSpec 1.3.0
- ruby-debug installed by default
- Many fixes for Rails 3
- Various improvements to startup time
- Improved performance for Object#object_id/__id__
- Reduced memory use for Java class metadata and faster loading of Java classes
- jar-in-jar support in the classloader
- The “open4” library now works properly
- jruby.jit.codeCache=dir to save jitted scripts/methods to disk in a sha1-hashed .class file
- New logic for interface implementation that produces “real” classes
- jruby.ji.objectProxyCache to turn off OPC for extra performance
- JRuby::Synchronized module for making a class and its subclasses 100% synchronized on all calls
- Miscellaneous perf improvements to core classes and minor improvements in the JIT
- No more ObjectSpace during IRB
- Cleaned up maven artifacts
- Windows Installer fixes for x64 and Windows 7 security
- Over 1250 commits since JRuby 1.4
Issues resolved since 1.5.0.RC2:
JRUBY-3742: Java native threads are not added to ThreadService.rubyThreadMap after being adopted. JRUBY-4264: threadContextMap leaks RubyThread on death of adopted thread
Issues resolved since 1.5.0.RC1:
- JRUBY-3153: IO rubyspec failures under IBM JDK6 Linux
- JRUBY-3208: ant task api-docs runs out of memory, patch included
- JRUBY-4677: Java exceptions can’t be rescued with “rescue Exception”
- JRUBY-4680: jirb_swing broken: JRuby picking wrong constructor, with no obvious work around
- JRUBY-4704: “Java wrapper with no contents” error when subclassing a Runnable class in JRuby
- JRUBY-4710: Problems importing classes in default package
- JRUBY-4715: FFI::StructByValue missing layout and struct_class methods.
- JRUBY-4721: FFI::Platform::CONF_DIR looks in wrong location for PPC Macs.
- JRUBY-4724: Java class equality operator is order dependent
- JRUBY-4725: to_java_object no longer exists
- JRUBY-4729: System properties to set bindir and default rubygems paths
- JRUBY-4730: Unix jruby-1.5.0.RC1 distro includes rubygems/default/jruby_native.rb without native launcher
- JRUBY-4731: Mismatched default compilation prefix
- JRUBY-4733: Allow compilation of Ruby files for a specificic JVM version
- JRUBY-4734: Reduce “multiple Java method” warnings in unambiguous cases
- JRUBY-4735: install-gems ant target should not count on successful installation of jruby-launcher
- JRUBY-4737: Compatibility issue with Spring property from 1.4.0 to 1.5.0.RC1
- JRUBY-4738: test/testapp/testapp.exe appears twice in jruby-src-1.5.0.RC1.tar.gz
- JRUBY-4742: File::Stat throws a NPE when it doesn’t find a file into a jar
- JRUBY-4747: read_nonblock error with couchrest
- JRUBY-4749: require ‘rbconfig’ fails on GAE because of NullPointerException
- JRUBY-4750: ant-to-rake: <rake> task does not work when classpath is defined via taskdef’s attribute
- JRUBY-4751: Java call to RubyBignum.to_s() returns generic object representation
- JRUBY-4754: NotImplementedError: the MD5() function is unimplemented on this machine
- JRUBY-4757: addressable gem doesn’t work with –fast
- JRUBY-4760: File.open throws Errno::ENOENT when file inside jar is accessed using “..” (doubledot) in the path
- JRUBY-4761: 1.9.2: Thread#backtrace
We always appreciate community contributions. This cycle we’ve had more help than ever: David Calavera, Stephen Bannasch, Daniel Luz, Ian Dees, Koichiro Ohba, Hongli Lai, Hiroshi Nakamura, Colin Jones, Takeru Sasaki, Roger Pack, Matjaz Gregoric, Joseph LaFata, Frederic Jean, Alex Coles, Lars Westergren
JRuby 1.5.0.RC2 Released
Wednesday, April 28 2010
The JRuby community is pleased to announce the release of JRuby 1.5.0.RC2
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
This development cycle has been our longest cycle yet (nearly 5 months), but it also has the most fixes. It also includes many new notable features (see below). Most of our bug fixes have been more of what we consider fine-tuning, since we keep getting into smaller corner-cases of compatibility for individual Ruby methods. In that sense, we expect if you had a good experience with JRuby 1.4.0 then 1.5.0.RC2 will be a no-brainer upgrade. If you haven’t tried JRuby in a while with your application, then please give us another try. Odds are whatever issue you were having before no longer exists! And we would really like help making sure JRuby 1.5.0 final is a solid release…so please try and report back with any problems.
1.5.0 Highlights:
- New native access framework designed for performance and better FFI support
- Native launcher for *NIX platforms
- Ant support and Rake-Ant integration
- Better and better support for Windows
- Multiple performance improvements for Ruby-to-Java calling, improving correctness, memory, and speed.
- Embedding API improvements based on user input (JSR-223, BSF, RedBridge, etc)
- Software updates: Ruby 1.8.7 standard library update, RubyGems 1.3.6, RSpec 1.3.0
- ruby-debug installed by default
- Many fixes for Rails 3
- Various improvements to startup time
- Improved performance for Object#object_id/__id__
- Reduced memory use for Java class metadata and faster loading of Java classes
- jar-in-jar support in the classloader
- The “open4” library now works properly
- jruby.jit.codeCache=dir to save jitted scripts/methods to disk in a sha1-hashed .class file
- New logic for interface implementation that produces “real” classes
- jruby.ji.objectProxyCache to turn off OPC for extra performance
- JRuby::Synchronized module for making a class and its subclasses 100% synchronized on all calls
- Miscellaneous perf improvements to core classes and minor improvements in the JIT
- No more ObjectSpace during IRB
- Cleaned up maven artifacts
- Windows Installer fixes for x64 and Windows 7 security
- Over 1250 commits since JRuby 1.4
Issues resolved since 1.5.0.RC1:
- JRUBY-3153: IO rubyspec failures under IBM JDK6 Linux
- JRUBY-3208: ant task api-docs runs out of memory, patch included
- JRUBY-4677: Java exceptions can’t be rescued with “rescue Exception”
- JRUBY-4680: jirb_swing broken: JRuby picking wrong constructor, with no obvious work around
- JRUBY-4704: “Java wrapper with no contents” error when subclassing a Runnable class in JRuby
- JRUBY-4710: Problems importing classes in default package
- JRUBY-4715: FFI::StructByValue missing layout and struct_class methods.
- JRUBY-4721: FFI::Platform::CONF_DIR looks in wrong location for PPC Macs.
- JRUBY-4724: Java class equality operator is order dependent
- JRUBY-4725: to_java_object no longer exists
- JRUBY-4729: System properties to set bindir and default rubygems paths
- JRUBY-4730: Unix jruby-1.5.0.RC1 distro includes rubygems/default/jruby_native.rb without native launcher
- JRUBY-4731: Mismatched default compilation prefix
- JRUBY-4733: Allow compilation of Ruby files for a specificic JVM version
- JRUBY-4734: Reduce “multiple Java method” warnings in unambiguous cases
- JRUBY-4735: install-gems ant target should not count on successful installation of jruby-launcher
- JRUBY-4737: Compatibility issue with Spring property from 1.4.0 to 1.5.0.RC1
- JRUBY-4738: test/testapp/testapp.exe appears twice in jruby-src-1.5.0.RC1.tar.gz
- JRUBY-4742: File::Stat throws a NPE when it doesn’t find a file into a jar
- JRUBY-4747: read_nonblock error with couchrest
- JRUBY-4749: require ‘rbconfig’ fails on GAE because of NullPointerException
- JRUBY-4750: ant-to-rake: <rake> task does not work when classpath is defined via taskdef’s attribute
- JRUBY-4751: Java call to RubyBignum.to_s() returns generic object representation
- JRUBY-4754: NotImplementedError: the MD5() function is unimplemented on this machine
- JRUBY-4757: addressable gem doesn’t work with –fast
- JRUBY-4760: File.open throws Errno::ENOENT when file inside jar is accessed using “..” (doubledot) in the path
- JRUBY-4761: 1.9.2: Thread#backtrace
We always appreciate community contributions. This cycle we’ve had more help than ever: David Calavera, Stephen Bannasch, Daniel Luz, Ian Dees, Koichiro Ohba, Hongli Lai, Hiroshi Nakamura, Colin Jones, Takeru Sasaki, Roger Pack, Matjaz Gregoric, Joseph LaFata, Frederic Jean, Alex Coles, Lars Westergren
jruby-openssl 0.7 Released!
Tuesday, April 27 2010
Here’s announcing jruby-openssl 0.7. This release should be usable on AppEngine, and contains many compatibility fixes, see below.
Thanks so much to NaHi (NAKAMURA Hiroshi) for his impressive work on another jruby-openssl release!
To install the new release, simply run:
jruby -S gem install jruby-openssl
Compatibility issues
JRUBY-4342 Follow ruby-openssl of CRuby 1.8.7. JRUBY-4346 Sync tests with tests for ruby-openssl of CRuby 1.8.7. JRUBY-4444 OpenSSL crash running RubyGems tests JRUBY-4075 Net::SSH gives OpenSSL::Cipher::CipherError "No message available" JRUBY-4076 Net::SSH padding error using 3des-cbc on Solaris JRUBY-4541 jruby-openssl doesn't load on App Engine. JRUBY-4077 Net::SSH "all authorization methods failed" Solaris -> Solaris JRUBY-4535 Issues with the BouncyCastle provider JRUBY-4510 JRuby-OpenSSL crashes when JCE fails a initialise bcprov JRUBY-4343 Update BouncyCastle jar to upstream version; jdk14-139 -> jdk15-144
Cipher issues
JRUBY-4012 Initialization vector length handled differently than in MRI (longer IV sequence are trimmed to fit the required) JRUBY-4473 Implemented DSA key generation JRUBY-4472 Cipher does not support RC4 and CAST JRUBY-4577 InvalidParameterException 'Wrong keysize: must be equal to 112 or 168' for DES3 + SunJCE
SSL and X.509(PKIX) issues
JRUBY-4384 TCP socket connection causes busy loop of SSL server
JRUBY-4370 Implement SSLContext#ciphers
JRUBY-4688 SSLContext#ciphers does not accept 'DEFAULT'
JRUBY-4357 SSLContext#{setup,ssl_version=} are not implemented
JRUBY-4397 SSLContext#extra_chain_cert and SSLContext#client_ca
JRUBY-4684 SSLContext#verify_depth is ignored
JRUBY-4398 SSLContext#options does not affect to SSL sessions
JRUBY-4360 Implement SSLSocket#verify_result and dependents
JRUBY-3829 SSLSocket#read should clear given buffer before
concatenating (ByteBuffer.java:328:in `allocate':
java.lang.IllegalArgumentException when returning SOAP queries over a
certain size)
JRUBY-4686 SSLSocket can drop last chunk of data just before inbound
channel close
JRUBY-4369 X509Store#verify_callback is not called
JRUBY-4409 OpenSSL::X509::Store#add_file corrupts when it includes
certificates which have the same subject (problem with
ruby-openid-apps-discovery (github jruby-openssl issue #2))
JRUBY-4333 PKCS#8 formatted privkey read
JRUBY-4454 Loading Key file as a Certificate causes NPE
JRUBY-4455 calling X509::Certificate#sign for the Certificate
initialized from PEM causes IllegalStateException
PKCS#7 issues
JRUBY-4379 PKCS7#sign failed for DES3 cipher algorithm JRUBY-4428 Allow to use DES-EDE3-CBC in PKCS#7 w/o the Policy Files (rake test doesn't finish on JDK5 w/o policy files update)
Misc
JRUBY-4574 jruby-openssl deprecation warning cleanup JRUBY-4591 jruby-1.4 support
JRuby 1.4.1 Released - Fixes XSS Vulnerability in JRuby 1.4.0 - Recommended Upgrade
Monday, April 26 2010
Today we’re releasing JRuby 1.4.1 as a recommended upgrade for all previous versions of JRuby. Previous versions contained a bug in JRuby’s regular expression engine that could allow an attacker to perform, for example, an XSS attack on a web application running under JRuby.
This vulnerability fix is the only change from the previous JRuby release (1.4.0). Also note that the JRuby 1.5.0 release contains this fix as well.
Common Vulnerabilities and Exposures
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2010-1330 to this issue. This is a candidate for inclusion in the CVE list, which standardizes names for security problems.
Impact
Any Ruby application code that uses regular expressions for string matching and substitution running under JRuby and using $KCODE = 'u' is vulnerable.
If a string contains invalid UTF-8 byte sequences in the (inclusive) range \xC0 to \xFD, the immediately following character will not be matched by a regular expression. Consider the following code:
str = "\xF6<script>"
$KCODE = ''
puts "KCODE: " + $KCODE
puts str.gsub(/</, "<")
$KCODE = 'u'
puts "KCODE: " + $KCODE
puts str.gsub(/</, "<")
Ruby 1.8.7 ignores the invalid bytes and continues, while Ruby 1.9.2 raises an ArgumentError due to the invalid bytes. But for JRuby, the effect is to fail to match the character following the invalid byte. For the example above example run with JRuby 1.4.0 prints the following. Note that the fourth line should be the same as the second.
KCODE: NONE
?<script>
KCODE: UTF8
?<script>
The effect of this bug is magnified considering that the Rails html_escape or h helper essentially does what the above example does, meaning that any Rails view using the standard ERb escape helper method is vulnerable.
Releases
The JRuby 1.4.1 and 1.5.0 releases (including release candidates) all have the vulnerability fixed.
The fix was applied to the jcodings library which JRuby uses. As such, a source patch against the JRuby source is not available. Replacing the build_lib/jcodings.jar file in your JRuby source build with the jcodings version 1.0.3 jar file is sufficient to resolve the issue.
If you are unable to upgrade to JRuby 1.4.1, please contact the JRuby team at security@jruby.org for assistance.
Workarounds
Turn off $KCODE = 'u' in your application if you can. Otherwise, the only approach is to patch application or framework code to be aware of the invalid byte sequences.
Thanks
Many thanks to Jörn Hartmann (joern dot hartmann at gmail dot com) for finding and reporting the issue.
JRuby 1.5.0.RC1 Released
Thursday, April 15 2010
The JRuby community is pleased to announce the release of JRuby 1.5.0.RC1
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
This development cycle has been our longest cycle yet (nearly 5 months), but it also has the most fixes. It also includes many new notable features (see below). Most of our bug fixes have been more of what we consider fine-tuning, since we keep getting into smaller corner-cases of compatibility for individual Ruby methods. In that sense, we expect if you had a good experience with JRuby 1.4.0 then 1.5.0.RC1 will be a no-brainer upgrade. If you haven’t tried JRuby in a while with your application, then please give us another try. Odds are whatever issue you were having before no longer exists! And we would really like help making sure JRuby 1.5.0 final is a solid release…so please try and report back with any problems.
1.5.0.RC1 Highlights:
- New native access framework designed for performance and better FFI support
- Native launcher for *NIX platforms
- Ant support and Rake-Ant integration
- Better and better support for Windows
- Multiple performance improvements for Ruby-to-Java calling, improving correctness, memory, and speed.
- Embedding API improvements based on user input (JSR-223, BSF, RedBridge, etc)
- Software updates: Ruby 1.8.7 standard library update, RubyGems 1.3.6, RSpec 1.3.0
- ruby-debug installed by default
- Many fixes for Rails 3
- Various improvements to startup time
- Improved performance for Object#object_id/__id__
- Reduced memory use for Java class metadata and faster loading of Java classes
- jar-in-jar support in the classloader
- The “open4” library now works properly
- jruby.jit.codeCache=dir to save jitted scripts/methods to disk in a sha1-hashed .class file
- New logic for interface implementation that produces “real” classes
- jruby.ji.objectProxyCache to turn off OPC for extra performance
- JRuby::Synchronized module for making a class and its subclasses 100% synchronized on all calls
- Miscellaneous perf improvements to core classes and minor improvements in the JIT
- No more ObjectSpace during IRB
- Cleaned up maven artifacts
- Windows Installer fixes for x64 and Windows 7 security
- Over 1250 commits since JRuby 1.4
We always appreciate community contributions. This cycle we’ve had more help than ever: David Calavera, Stephen Bannasch, Daniel Luz, Ian Dees, Koichiro Ohba, Hongli Lai, Hiroshi Nakamura, Colin Jones, Takeru Sasaki, Roger Pack, Matjaz Gregoric, Joseph LaFata, Frederic Jean, Alex Coles, Lars Westergren
JRuby BugMash!
Tuesday, January 05 2010
Come join us this weekend, January 9-12, for the first ever JRuby BugMash!
The JRuby project has been growing impressively quickly, with frequent releases and a constantly expanding community. There’s a hefty list of impressive users and companies, and the team has been touring the world, trying their best to make it out to everyone who wants to hear and learn about the project.
As with any growing code base though, there’s a need to keep things tidy; frequent releases and speedy development also mean bugs, and things that need fixing–and that’s where we turn to you!
The first ever official JRuby BugMash will take place this Saturday, January 9th through Tuesday, January 12th. The core team will spend the days prior to the BugMash highlighting the specific bugs that are most important–you’ll want to keep an eye out for the Intro section. Then, Saturday morning, it’s off to the races! As a small token of our appreciation, in addition to the wonderful satisfaction of having made a difference to the project, we’ll be sending each of the first 100 participants a limited edition JRubyConf Poster. There are some more ‘tokens of appreciation’ up our sleeves for the top contributors, but we’ll keep those secret for now.
The JRuby Core Team will be around on IRC channel #jruby throughout the BugMash to help folks get started and to answer questions. Be sure to stop in and say hello!

JRuby created (red) vs. resolved (green) bugs over the past 120 days
Vulnerability in jruby-openssl < 0.6 - Recommended Upgrade
Monday, December 07 2009
A security problem involving peer certificate verification was found where failed verification silently did nothing, making affected applications vulnerable to attackers. Attackers could lead a client application to believe that a secure connection to a rogue SSL server is legitimate. Attackers could also penetrate client-validated SSL server applications with a dummy certificate.
Common Vulnerabilities and Exposures
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2009-4123 to this issue. This is a candidate for inclusion in the CVE list, which standardizes names for security problems.
Impact
Your application would be vulnerable if you’re using the OpenSSL::SSL::VERIFY_PEER mode on an OpenSSL-enabled socket (client or server) and any version of jruby-openssl prior to 0.6. An example using client-side validated SSL with the ‘net/https’ library is shown below.
require 'net/https'
uri = URI.parse('https://www.amazon.com/')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
# This code should raise OpenSSL::SSL::SSLError
# because it's not the correct trust anchor for
# www.amazon.com.
http.ca_file = 'test/fixture/verisign_c3.pem'
response = http.start do |s|
s.get(uri.request_uri)
end
# This code must fail as well because of an incorrect
# trust anchor setting (no certs is the directory).
http.ca_path = '/tmp'
response = http.start do |s|
s.get(uri.request_uri)
end
# verisign.pem is the correct trust anchor for www.amazon.com.
# Only this request should be successful.
http.ca_file = 'test/fixture/verisign.pem'
response = http.start do |s|
s.get(uri.request_uri)
end
Release and Patch
- The 0.6 release has the fix for the certificate validation vulnerability. Install the upgrade in the usual fashion by running
jruby -S gem install jruby-openssland ensuring that you get version 0.6 or greater. - A patch is available which should apply cleanly to the jruby-openssl 0.5.2 source. Ensure the code builds cleanly and passes tests by running
jruby -S rake clean default. - Please contact security@jruby.org if you are unable to upgrade or use the 0.5.2 patch and require a backport. Let us know what version of jruby-openssl you’re using and help us understand how you’re using the library so we can determine whether you’re affected by the vulnerability.
Workarounds
No known workarounds exist, other than rewriting application code to use a different library to establish validated SSL connections.
Thanks
Thanks to NaHi (NAKAMURA Hiroshi - nahi at ruby-lang.org) for finding the problem and providing the fix.
JRuby 1.4.0 Released
Monday, November 02 2009
The JRuby community is pleased to announce the release of JRuby 1.4.0
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
After three very helpful release candidates we have a final 1.4.0 release. This release 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.
1.4.0 Highlights:
-
JRuby is now compatible with 1.8.7 patchlevel 174
-
Windows Native Launcher - Solves many reported bugs with our old .bat scripts
-
New YAML parser Yecht (bug-for-bug compatible with Syck!)
-
Improved Java Integration Support
- faster
- new java_method, java_send, and java_alias methods
-
Windows installer
-
New embedding framework
- Java 6 scripting out of the box
- New org.jruby.embed package to supersede 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
-
307 bugs fixed since 1.3.1
We want to thank all the users who have been helping us to get a better release out. Special thanks to Hiro Asari, David Calavera, and Roger Pack for their recent activity in the project. We also want to welcome Yoko Harada as a committer to the project. Her work and support of our embedding efforts has been great.
Issues fixed since JRuby 1.3.1:
Key Summary
JRUBY-382 Better error output from parser
JRUBY-558 Integration method matching needs more help with nulls
JRUBY-937 JRuby does not honor RUBY_OPTS or RUBYOPT
JRUBY-1316 Command line doesn't recognize KEY=value construct on WIndows
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-2839 Eight new BigDecimal RubySpec failures
JRUBY-2866 Set .include? method behavior differs between JRuby 1.1.3 and Ruby 1.8.7
JRUBY-2895 Wildcard arguments not properly expanded on Windows
JRUBY-3024 Better handling if suppressAccessChecks is not permitted
JRUBY-3030 jruby/test/rubicon/test_object_space.rb fails on Windows XP SP 2
JRUBY-3081 CLASSPATH append problem in bin/jruby script under cygwin
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-3245 Java exceptions not caught when converting java objects to ruby objects
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-3346 Need pointers of Ruby blocks (JRuby FFI)
JRUBY-3350 JRuby .bat scripts do not correctly find Java without JAVA_HOME env var
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-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-3435 Enumerable missing fiber-related next, rewind, with_index methods
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 yaml_initialize not called for subclasses of standard types
JRUBY-3524 Erroneously redirecting stdout when running jgem
JRUBY-3545 ArrayIndexOutOfBoundsException when opening Bio::FlatFiles (bioruby gem)
JRUBY-3546 ~/.hoerc results in parsing error
JRUBY-3550 strftime breaks unicode characters in format string
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-3567 RubySpec: The __FILE__ constant equals a relative path when required using a relative path
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-3713 TwoVarDynamicScope only supports scopes with two variable
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-3731 --debug causes problems. Methods are missing.
JRUBY-3733 Accessors arity
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-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 | &er;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-3796 ruby_string.to_java_string has different encoding than new java.lang.String(ruby_string)
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-3816 Objects returned from Java library call not fully unwrapped
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-3821 Array.flatten performance issue
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-3833 Running RubySpec ci :language with -X+C fails locally, but not in "ant spec"
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-3845 Invoker for Array#pop isn't generated on 187 branch
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-3880 Net::HTTP doesn't timeout as expected when using timeout.rb
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-3898 Two methods, tryCompile and runScript, in org.jruby.Ruby should be public to enable compileable option for embedding
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-3915 JFFI needs binaries for more arches
JRUBY-3916 Clean up nailgun directory a little
JRUBY-3919 Creation of BouncyCastle security provider results in security errors when run in an unprivileged context
JRUBY-3921 Can't run ruby specs for ruby 1.9
JRUBY-3922 File.basename doesn't cope with UTF8 strings
JRUBY-3927 Jar complete doesn't compile
JRUBY-3928 Net::HTTP doesn't timeout as expected when using timeout.rb
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-3940 Rubyspec: Kernel#== compare spec failing
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-3964 Threads created for Fibers/Generators/Enumerator.next must die due to GC and raise a nice error when threads are unavailable
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-3971 jruby --ng gives "Access denied" message
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-3979 [1.9] Array.collect returns an Enumerator when no block given
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-3994 [1.9] Enumerable 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-4018 jruby --ng-server aborts on Windows with "the syntax of the command is incorrect"
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
JRUBY-4029 String hash keys should be copied
JRUBY-4036 Regression: Instead of java-based ThreadLibrary a pure-ruby thread.rb from stdlib is used
JRUBY-4037 Ruby 1.8 compatibility: /#{/\w/}/uo does not work as expected
JRUBY-4038 nil implicitly casts to java.lang.Integer instead of java.lang.Long during method dispatch
JRUBY-4039 Implicit conversion to List<Long> results in a List<Byte%gt; or List<Integer>
JRUBY-4041 tool/nailgun/configure is not executable
JRUBY-4042 [windows] jruby.bat without parameters fails
JRUBY-4043 could not coerce BigDecimal to class java.lang.Object (TypeError)
JRUBY-4045 [windows] jruby -e "p $LOAD_PATH" fails (regression)
JRUBY-4046 [windows] UNIXSocket and UNIXServer should not be defined on Windows (regression)
JRUBY-4050 Installer PATH modification should be optional
JRUBY-4051 Recieve error "\jruby-1.4.0RC1\bin\) was unexpected at this time" when i try use jruby or jirb
JRUBY-4052 JRuby on windows does not provide the calloc function
JRUBY-4053 ActiveRecord AssociationCollection#== method is returning false on equal results
JRUBY-4055 [windows] jruby.bat can't handle caret sign (^) and question mark (?) in command line
JRUBY-4056 unsigned values values should be stuffed into Java signed values like Java does
JRUBY-4058 [windows] jruby.bat eats % signs
JRUBY-4059 test filepath containing _p is split by _jrubyvmopts.bat
JRUBY-4060 gem command doesn't work when RUBYOPT set
JRUBY-4062 RUBYOPT=-rubygems causes various problems for JRuby
JRUBY-4063 memory stomping error with debug JVM on Solaris
JRUBY-4064 Yecht regression: require'ing rubygems now makes nil, true, false all tainted
JRUBY-4065 java_alias to compliment and combine the best of java_method and java_send
JRUBY-4066 ruby subclass of java public void method cannot return numeric values
JRUBY-4069 [windows] jruby.jar is not in bootclasspath, JRuby starts much slower then it colud
JRUBY-4070 Can't find Nailgun classes on Windows
JRUBY-4071 SystemCallError.new does not create an Errno instance
JRUBY-4078 rcov feils with NullPointerException with JRuby 1.4.0RC1. Has worked with all JRuby versions since 2008.
JRUBY-4079 rcov fails with NullPointerException with JRuby 1.4.0RC1. Has worked with all JRuby versions since 2008.
JRUBY-4081 Long stored in RubyArray is returned as Byte
JRUBY-4084 Working with the enumerable methods on arrays containing strings created by splicing can raise a Java Exception
JRUBY-4085 test/test_system_error.rb is broken
JRUBY-4089 Mangled Joda-Time package breaks public APIs that return or consume Joda-Time objects
JRUBY-4091 IConv.conv ignores //IGNORE flag into the encoding parameter
JRUBY-4094 variadic FFI functions with struct-by-value return types are broken
JRUBY-4095 FFI functions that return a struct-by-value cannot accept non-primitive parameters
JRUBY-4096 JVM crash on exit when loading library with FFI
JRUBY-4100 Native jruby launcher needed (at least for Windows)
JRUBY-4108 LoadService::SuffixType too private now for LoadService magic
JRUBY-4109 Inconsistent handling of Fixnum/Bignum boundary
JRUBY-4111 Solaris 32bit stat struct too large
JRUBY-4114 jffi in 1.4 needs update to 0.6.0.2
JRUBY-4120 [windows] Native launcher doesn't honor CLASSPATH env variable
JRUBY-4121 [major regression] Most *.bat commands don't work anymore
JRUBY-4122 RbConfig/Gem cleanup after switch to native launcher
JRUBY-4124 [windows] Native launcher doesn't honor JAVA_HOME env variable
JRUBY-4128 FFI needs NullPointerError exception class
JRUBY-4129 gem install can not work when the gem name contails '_p'
JRUBY-4131 Nailgun doesn't work on Windows 2000
JRUBY-4132 [windows] JRuby's native launcher provides empty name to jps/jconsole
JRUBY-4133 JRuby native launcher should look at its binary name and launch appropriate tools
JRUBY-4136 [windows] Native jrubyw.exe is needed
JRUBY-4137 ant dist/rake installers should generate sha1 and md5 files for installer files
JRUBY-4138 Open up LoadService some more
JRUBY-4139 FFI::Struct and FFI::Union do not call member struct's initialize method
JRUBY-4142 [regression] TCPSocket raises wrong exception when can't connect
JRUBY-4144 Remove all vestiges of individual version numbers from install4j scripts
JRUBY-4145 Windows Launcher with just IBM Java installed will not execute properly
JRUBY-4150 rake --trace causes dialog box (Missing argument) on Windows
JRUBY-4153 Rational#new! is no longer defined
JRUBY-4154 [regression] Thread.exclusive is undefined
JRUBY-4155 Warbler install fails on RC2
JRUBY-4157 fannkuch and chameneosredux benchmarks timing out on The Benchmarks Game
JRUBY-4161 Potential Regression: Extlib spec suite: Enumerable#entries wrong # of arguments(0 for 1)
JRUBY-4172 Rbconfig's Config::CONFIG provides wrong name for Windows 7
JRUBY-4179 [regression] [1.8] Dir.mkdir should accept any arg that responds to #to_str
JRUBY-4185 JRuby using unreleased version of jcodings.jar, prevents usage of jvyamlb in same app.
JRUBY-4189 calling to_java(:string) on a ruby array with a symbol in it now causes java exception
JRUBY-4190 java.util.List.sort regression since 1.3.1
JRUBY-3403 Socket close_read and close_write should use appropriate methods on java.net.Socket
JRUBY-3725 Fix for JRUBY-3563 introduces regression in Socket#getnameinfo
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 1.4.0RC3 Released
Wednesday, October 28 2009
The JRuby community is pleased to announce the release of JRuby 1.4.0RC3
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
Third time is a charm! Actually, this third release candidate is largely for the benefit of our Windows users. We have gotten reports of issues with our new installer and our new native launcher and we have been trying to make sure JRuby on Windows is a pleasant experience. We also fixed a Socket regression which had caused celerity to break.
The JRuby 1.4.0 release 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.
Please try your apps against 1.4.0RC3 ASAP and report problems
1.4.0RC1-RC3 Highlights:
-
JRuby is now compatible with 1.8.7 patchlevel 174
-
Windows Native Launcher - Solves many reported bugs with our old .bat scripts
-
New YAML parser Yecht (bug-for-bug compatible with Syck!)
-
Improved Java Integration Support
- faster
- new java_method, java_send, and java_alias 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
-
241 bugs fixed since 1.3.1
Issues fixed between 1.4.0RC2 and 1.4.0RC3:
Key Summary JRUBY-4150 rake --trace causes dialog box (Missing argument) on Windows JRUBY-4145 Windows Launcher with just IBM Java installed will not execute properly JRUBY-4155 Warbler install fails on RC2 JRUBY-4144 Remove all vestiges of individual version numbers from install4j scripts JRUBY-4153 Rational#new! is no longer defined JRUBY-4161 Potential Regression: Extlib spec suite: Enumerable#entries wrong # of arguments(0 for 1) JRUBY-4138 Open up LoadService some more JRUBY-4154 [regression] Thread.exclusive is undefined JRUBY-4139 FFI::Struct and FFI::Union do not call member struct's initialize method
Issues fixed between 1.4.0RC1 and 1.4.0RC2:
Key Summary JRUBY-4036 Regression: Instead of java-based ThreadLibrary a pure-ruby thread.rb from stdlib is used JRUBY-4064 Yecht regression: require'ing rubygems now makes nil, true, false all tainted JRUBY-4051 Recieve error "\jruby-1.4.0RC1\bin\) was unexpected at this time" when i try use jruby or jirb JRUBY-4063 memory stomping error with debug JVM on Solaris JRUBY-4042 [windows] jruby.bat without parameters fails JRUBY-4055 [windows] jruby.bat can't handle caret sign (^) and question mark (?) in command line JRUBY-4058 [windows] jruby.bat eats % signs JRUBY-4056 unsigned values values should be stuffed into Java signed values like Java does JRUBY-4039 Implicit conversion to List<Long> results in a List<Byte> or List<Integer> JRUBY-4079 rcov fails with NullPointerException with JRuby 1.4.0RC1. Has worked with all JRuby versions since 2008. JRUBY-4041 tool/nailgun/configure is not executable JRUBY-4069 [windows] jruby.jar is not in bootclasspath, JRuby starts much slower then it colud JRUBY-4071 SystemCallError.new does not create an Errno instance JRUBY-4089 Mangled Joda-Time package breaks public APIs that return or consume Joda-Time objects JRUBY-4045 [windows] jruby -e "p $LOAD_PATH" fails (regression) JRUBY-4066 ruby subclass of java public void method cannot return numeric values JRUBY-4043 could not coerce BigDecimal to class java.lang.Object (TypeError) JRUBY-4053 ActiveRecord AssociationCollection#== method is returning false on equal results JRUBY-4094 variadic FFI functions with struct-by-value return types are broken JRUBY-4062 RUBYOPT=-rubygems causes various problems for JRuby JRUBY-4060 gem command doesn't work when RUBYOPT set JRUBY-4038 nil implicitly casts to java.lang.Integer instead of java.lang.Long during method dispatch JRUBY-4095 FFI functions that return a struct-by-value cannot accept non-primitive parameters JRUBY-4111 Solaris 32bit stat struct too large JRUBY-4108 LoadService::SuffixType too private now for LoadService magic JRUBY-4131 Nailgun doesn't work on Windows 2000 JRUBY-4129 gem install can not work when the gem name contails '_p'
Issues Fixed between 1.3.1 and 1.4.0RC1:
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 | &er;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
JRuby 1.4.0RC2 Released
Wednesday, October 21 2009
The JRuby community is pleased to announce the release of JRuby 1.4.0RC2.
- Homepage: http://www.jruby.org/
- Download: http://www.jruby.org/download
The JRuby 1.4.0 release 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.
Due to the overwhelming feedback we got from RC1, we have fixed a number of reported issues (shown below) for RC2. We expect that this will be our last RC before 1.4.0 final.
Please try your apps against 1.4.0RC2 ASAP and report problems.
1.4.0RC2 Highlights:
-
Windows Native Launcher
- Solves many reported bugs with our old .bat scripts
1.4.0RC1 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
-
232 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.
Issues fixed since 1.4.0RC1:
| JRUBY-4036 | Regression: Instead of java-based ThreadLibrary a pure-ruby thread.rb from stdlib is used |
| JRUBY-4064 | Yecht regression: require'ing rubygems now makes nil, true, false all tainted |
| JRUBY-4051 | Recieve error "\jruby-1.4.0RC1\bin\) was unexpected at this time" when i try use jruby or jirb |
| JRUBY-4063 | memory stomping error with debug JVM on Solaris |
| JRUBY-4042 | [windows] jruby.bat without parameters fails |
| JRUBY-4055 | [windows] jruby.bat can't handle caret sign (^) and question mark (?) in command line |
| JRUBY-4058 | [windows] jruby.bat eats % signs |
| JRUBY-4056 | unsigned values values should be stuffed into Java signed values like Java does |
| JRUBY-4039 | Implicit conversion to List<Long> results in a List<Byte> or List<Integer> |
| JRUBY-4079 | rcov fails with NullPointerException with JRuby 1.4.0RC1. Has worked with all JRuby versions since 2008. |
| JRUBY-4041 | tool/nailgun/configure is not executable |
| JRUBY-4069 | [windows] jruby.jar is not in bootclasspath, JRuby starts much slower then it colud |
| JRUBY-4071 | SystemCallError.new does not create an Errno instance |
| JRUBY-4089 | Mangled Joda-Time package breaks public APIs that return or consume Joda-Time objects |
| JRUBY-4045 | [windows] jruby -e "p $LOAD_PATH" fails (regression) |
| JRUBY-4066 | ruby subclass of java public void method cannot return numeric values |
| JRUBY-4043 | could not coerce BigDecimal to class java.lang.Object (TypeError) |
| JRUBY-4053 | ActiveRecord AssociationCollection#== method is returning false on equal results |
| JRUBY-4094 | variadic FFI functions with struct-by-value return types are broken |
| JRUBY-4062 | RUBYOPT=-rubygems causes various problems for JRuby |
| JRUBY-4060 | gem command doesn't work when RUBYOPT set |
| JRUBY-4038 | nil implicitly casts to java.lang.Integer instead of java.lang.Long during method dispatch |
| JRUBY-4095 | FFI functions that return a struct-by-value cannot accept non-primitive parameters |
| JRUBY-4111 | Solaris 32bit stat struct too large |
| JRUBY-4108 | LoadService::SuffixType too private now for LoadService magic |
| JRUBY-4131 | Nailgun doesn't work on Windows 2000 |
| JRUBY-4129 | gem install can not work when the gem name contails '_p' |
JRuby 1.4.0RC1 Released
Friday, October 02 2009
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.
Issues Fixed for 1.4.0RC1:
| 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 |
JRuby 1.3.1 Released
Monday, June 15 2009
The JRuby community is pleased to announce the release of JRuby 1.3.1.
- Homepage: http://www.jruby.org/
- Download: http://jruby.org/download
JRuby 1.3.1 is a minor bug fix release which:
- Fixes a recently discovered security bug in BigDecimal
- Fixes a regression in timeout (0-1 second timeouts truncate to 0)
- Fixes a regression Thread.wakeup where the thread would not wake up
JRuby 1.3.0 Released
Wednesday, June 03 2009
The JRuby community is pleased to announce the release of JRuby 1.3.0.
- Homepage: http://www.jruby.org/
- Download: http://dist.codehaus.org/jruby/
The fixes in this release are primarily obvious compatibility problems and performance enhancements. Our goal is to put out point releases more frequently for the next several months (about 3-4 weeks a release). We want a more rapid release cycle to better address issues brought up by users of JRuby.
Highlights:
- Fixes so that JRuby runs in restricted environments better like GAE/J
- Accessing primitive Java arrays are about 10x faster
- timeout.rb is now ~40% faster
- Method cache performance improvements
- irb works in –1.9 mode now - Additional Miscellaneous 1.9 fixes
- rubygems 1.3.3, rake 0.8.7, and rspec 1.2.6 upgrades
- 66 bugs fixed since 1.2.0
Issues fixed for 1.3.0
| JRUBY-3729 | JRuby's internal change killed JSR 223 JRuby engine's global variable sharing |
| JRUBY-3726 | Cannot access named capture in match data |
| JRUBY-3723 | 1.3RC3 regression - Gem activate error |
| JRUBY-3714 | ActiveMessaging poller stops silently with JRuby 1.3.0RC1 and RC2. Works with JRuby 1.2.0 |
| JRUBY-3601 | Need updated release of JFFI for 1.3 release |
| JRUBY-3719 | FFI :buffer_out params incorrectly handled as pinned arrays by jffi |
| JRUBY-3626 | Thread Safety issue with JRuby 1.3 RC1 - JRuby abnormally exit |
| JRUBY-3625 | Multi-threading issue with RegExp |
| JRUBY-1441 | ENV should not be case-sensitive on Windows |
| JRUBY-3617 | Java array support unit tests on are failing on AIX with JRuby 1.3-dev |
| JRUBY-3663 | Can't build JRuby on last OpenJDK builds (58+) because of uncorrect Invokdynamic support |
| JRUBY-3638 | Multi-Threading issues with JRuby 1.3RC1 and soap4r |
| JRUBY-3678 | problem with super called from method defined with define_method |
| JRUBY-3686 | io.fcntl can also accept one-arg version |
| JRUBY-3509 | uninitialized constant when using ResourceController plugin with Rails 2.2.2 |
| JRUBY-3699 | Failure in ruby1.8/uri/test_common |
| JRUBY-3594 | JRuby's instance_exec only accepts up to 3 arguments |
| JRUBY-3677 | Array#pack problem |
| JRUBY-3633 | JRuby 1.3 Fails to Execute Embedded Ruby code in Java |
| JRUBY-3634 | File.read or File.open with a url to a file resource fails with StringIndexOutOfBounds exception |
| JRUBY-3621 | relative_path_from returns errors for "C:/" and "C:" |
| JRUBY-3536 | jruby-complete gem install fails: private method `split' called for nil:NilClass |
| JRUBY-3647 | Severe performance degradation from 3d9140fafcda9c4fe6b9d5a1fec0ae9822877e03 |
| JRUBY-3659 | Running ant spec-short without the proper Git abbreviations does not break |
| JRUBY-3661 | Incorrect super call site caching with multiple included modules |
| JRUBY-3395 | RubySpec: ConditionVariable#wait should return self |
| JRUBY-3658 | RubySpec: Range#initialize visibility and arity failures |
| JRUBY-3396 | RubySpec: Queue#num_waiting reports the number of threads waiting on the Queue |
| JRUBY-3357 | Marshal load and dump rubyspec failures |
| JRUBY-3644 | After sucessfully launching a remotely-debugged application (using -S rdebug --stop) trying to run it crashes |
| JRUBY-3649 | IllegalArgumentException with --debug and syslog |
| JRUBY-3671 | RubySpec: Time.times is an obsolete method |
| JRUBY-3388 | RubySpec: File.open opens the file when passed mode, num and permissions |
| JRUBY-3343 | Modify require logic to block when two threads require the same file at the same time |
| JRUBY-3585 | Syslog has broken on OS X |
| JRUBY-2518 | Dir["some glob"] doesn't work for files inside a jar |
| JRUBY-3496 | MRI tests: test_hash shows bug in delete_if block argument |
| JRUBY-3578 | ByteList.endsWith fails on empty bytelist |
| JRUBY-3586 | StringIO should support to_inputstream, to_outputstream, and to_channel just like IO does |
| JRUBY-3588 | Allow rescuing Java Throwables. |
| JRUBY-1800 | Ruby 1.9 Fiber support should leverage the same thread pool as pooled JRuby threading |
| JRUBY-3345 | Exception backtraces at toplevel appear to be broken |
| JRUBY-3483 | Redirecting $stdout to an object blows up the stack |
| JRUBY-2900 | Add -vm command line argument to pass classpath, etc. |
| JRUBY-3573 | Memory leak when -Djruby.thread.pool.enabled=true |
| JRUBY-3680 | closed stream error when using druby to copy a file |
| JRUBY-3472 | RubySpec: failures in after_each for core/file |
| JRUBY-3579 | Prawn gem nil:NilClass error that doesn't occur in MRI |
| JRUBY-3498 | New failure in MRI's test_time |
| JRUBY-3679 | java.nio.BufferOverflowException on every Kernel.puts call |
| JRUBY-3670 | RubySpec: A Symbol literal does not contain null in the string |
| JRUBY-3683 | JRUBY-3670 fix introduces a symbol regression |
| JRUBY-3596 | gems in a jar are not found if the current directory contains a space |
| JRUBY-3393 | RubySpec: CSV::Reader.parse calls block once for one row of input |
| JRUBY-3698 | RubyDateFormat.java does ont handle %R specifier in strftime |
| JRUBY-3652 | IO.popen drops first space between command and first argument |
| JRUBY-3632 | Jruby deployment missing batch files |
| JRUBY-3620 | JRuby shebang parsing is too simplistic |
| JRUBY-3572 | Support for anonymous callback inside function definition |
| JRUBY-3650 | Please consider allowing jruby -c to take multiple files as arguments |
| JRUBY-3660 | Dir.pwd correctly displays dirs with unicode characters in them |
| JRUBY-2235 | Minor regression: Kernel.system('non-existing-file') produces some output but shouldn't |
| JRUBY-3615 | Fiber.yield crahes if called without arguments |
| JRUBY-3640 | Minor optimizations with Map.entrySet |