From: Charles Oliver Nutter Date: 2008-08-07T17:57:38+09:00 Subject: Re: State of Ruby 1.8.6? Alex Fenton wrote: > Ruby 1.8.7 is a dead-end experimental release and I wouldn't waste your > time with it. For some reason the core ruby development team see the > "stable" 1.8 branch as the perfect place to tinker around with cute new > features and needless changes to the underlying extension API. As a > result 1.8.7 (and possibly later versions of 1.8.6?) don't only break > certain Rails versions but also any library that uses certain SWIG > features to generate extension code. Largely this general opinion of 1.8.7 is what's kept us from moving to 1.8.7 compatibility in JRuby as well. For what it's worth, JRuby currently supports JRuby 1.8.6 patchlevel 114 or so, and is not subject to the security problems that the C implementation has. So it may be an option for folks concerned about security. When we do start adding 1.8.7 features, they'll probably be optional, just like we have a --1.9 feature to enable 1.9 compatibility... $ jruby -h ... --1.8 specify Ruby 1.8.x compatibility (default) --1.9 specify Ruby 1.9.x compatibility $ jruby -v jruby 1.1.3 (ruby 1.8.6 patchlevel 114) (2008-08-07 rev 7398) [i386-java] $ jruby --1.9 -v jruby 1.1.3 (ruby 1.9.1 patchlevel 114) (2008-08-07 rev 7398) [i386-java] (ok, the patchlevel is a little fuzzy there, but you get the idea) $ cat ~/sun/fiber_demo.rb require 'fiber' f = Fiber.new do loop do puts "Hello inside fiber!" Fiber.yield "Yielding!" end end 5.times do puts f.resume end $ jruby fiber_demo.rb /Users/headius/fiber_demo.rb:1:in `require': no such file to load -- fiber (LoadError) from /Users/headius/fiber_demo.rb:1 $ jruby --1.9 fiber_demo.rb Hello inside fiber! Yielding! Hello inside fiber! Yielding! Hello inside fiber! Yielding! Hello inside fiber! Yielding! Hello inside fiber! Yielding! Fun stuff. - Charlie