From: "M. Edward (Ed) Borasky" Date: 2007-12-26T09:27:08+09:00 Subject: Re: Legacy support (Was: Base64 not there makes Rails 2.0.2 fail to load in 1.9.0) Dave Thomas wrote: > > On Dec 25, 2007, at 1:31 PM, M. Edward (Ed) Borasky wrote: > >> Yeah ... I'm with you on this one, having just discovered that two gems, >> rcov and hpricot, need to be updated to work with 1.9 anyhow. Should >> there be some kind of "master list" of the "commonly used gems" that >> need updating so they'll work with either 1.8 or 1.9? So far I have > > My experience is that a whole bunch of gems are broken. Some fail > explicitly, some just don't work properly. > > I think this is bad PR just waiting to happen. > > So, a suggestion. > > From now on, require that gems declare the version(s) of Ruby they run > with. Have this default to 1.8 if not specified. Then have require() > warn if loading a gem under 1.9 that doesn't explicitly say it runs on 1.9. > > To start with, it'll be ugly, but it pushes the support effort onto gem > maintainers, who are the best people to know what to do to add > compatibility. > > Without this, I really worry about the bad press we'll see (and the > stuff that incompatible gems might accidentally mess up). > > > > Dave > > Well ... 1. Do we choose between bad PR for syntactical and semantic differences or bad PR from performance? :) 2. I want to move my own small projects to Ruby 1.9 as soon as I can to take advantage of the faster core interpreter. Since I'm a relative newcomer to the language, I don't have a lot of code that's going to break. At the same time, I do want to use the powerful development tools available -- rspec, flog, heckle, etc. -- and if these or their dependencies, such as rcov and hpricot, don't work with Ruby 1.9, I'm forced to stay at 1.8 until they're all fixed. It looks like what I'm going to end up with is a kind of "cross-development" setup. That is, I'll have MRI running rspec and its dependencies, and three "sandboxes" -- jRuby 1.8, jRuby 1.9 and KRI 1.9. And I'm looking for someone to tell me there's an easier way. :)