On Tue, May 5, 2009 at 2:47 AM, Bill Kelly <billk / cts.com> wrote: > > From: "7stud --" <bbxx789_05ss / yahoo.com> >> >> Cali Wildman wrote: >>> >>> So basically 1.8.6 (and prior version) code will work fine in 1.8.7 >>> without changes, >> >> It doesn't sound like that is the case: >> >> http://www.ruby-forum.com/topic/178354#new > > Could you be more specific? ¨Âô§öåòù ìïîç ôèòåáä> > My understanding is that Cali's statement should be correct. > > Code that works on 1.8.6 should work on 1.8.7. But not > necessarily vice-versa.) It's actually not true in general. There is lots of old 1.8.6 based code, for example Rails applications running on not-so old versions of Rails which won't run on 1.8.7. If you really go back and read that long thread, I think you'll find that while later versions of ruby libraries like Rails have made changes to accommodate the changes made in 1.8.7, that was accomplished by changing the code, not by changes to Ruby 1.8.7. So it's very likely that, say an old Rails 1.2.x (or even I think a Rails 2.x (for some value of x < the version which was 1.8.7 compatible) won't run or won't run correctly under 1.8.7. If we're talking about new code, then yes, 1.8.7 vs. 1.8.6 is at best a minor issue, but if we are talking about waking up some Rip Van Winkle application, some assembly will be required. And some 'ports' of some Rails applications between Rails versions is a non-trivial exercise. One company I worked for backed out of migrating its main app from Rails 2.1 to 2.2 because the rework cost more than it was worth. Now this is a Rails issue rather than a Ruby issue per se, but it's all part of the larger picture. The real pain of having 1.8.6 and 1.8.7 share the same minor version number is that downstream 'vendors' like the linux packagers see this as an inconsequential change, they have ONE ruby 1.8 package, and when they started making this contain 1.8.7 rather than 1.8.6, and owners of those Rip Van Winkle apps found things broke when they (or their hosting provider) updated the packaged version of ruby. That's why as a result of that thread, the folks at Engine Yard agreed to continue to maintain a Ruby 1.8.6 version. But it still doesn't solve the re-packaging of 'compatible' versions for less aware users and hosting providers. -- Rick DeNatale Blog: http://talklikeaduck.denhaven2.com/ Twitter: http://twitter.com/RickDeNatale WWR: http://www.workingwithrails.com/person/9021-rick-denatale LinkedIn: http://www.linkedin.com/in/rickdenatale