Ruby 1.8.6 Policy

drbrain | Fri, 23 Apr 2010 17:48:15 GMT

Posted in ,

Ruby 1.8.6 is old and it's API is lacking the forward-compatibility that Ruby 1.8.7 has for moving to Ruby 1.9. Since I maintain two large ruby libraries that are shipped in 1.9 (RDoc and RubyGems) it is becoming hard to maintain 1.8.6 support inside them comfortably.

Currently I do not develop against 1.8.6 and correct operation on 1.8.6 is the last thing I investigate before release. Ensuring that my software works well in three versions of Ruby (1.8.6, 1.8.7 and 1.9.1) has become difficult. Supporting it in four once 1.9.2 is out will be too hard.

Ruby 1.8.7 offers many of the features of Ruby 1.9 making support for it fairly easy.

RubyGems 1.4.x will not support Ruby 1.8.6.

The RDoc 2.5.x releases do not guarantee support for Ruby 1.8.6.

Sorry Ruby 1.8.6, it's time to let you go. comments

Comments RSS FEED

Maybe someone should let the Fedora crew know as they’re dead set on using 1.8.6 until 1.9.x is “ready”, whatever that means. Some vague grumblings about 1.8.7 being “incompatible” with 1.8.6…

Scott said about 4 hours later

I think it’s a good thing that you are pushing the community to 1.8.7 and 1.9, Eric. It’s only ignorance that makes people think that 1.9 is still not ready for prime time.

Mike Perham said about 5 hours later

The sooner we put 1.8.x behind us the better. Developing against 1.8.7. 1.9.1 and 1.9.2-preview1 is actually fairly easy. Developing against 1.8.6 definitely restricts your options.

Postmodern said about 5 hours later

Another way would be to require ‘backports/1.8.7’ if running 1.8.6; this should insure compatibility as it brings the api up to date with 1.8.7.

Marc-Andre Lafortune said about 22 hours later

That’s a good decision. I hope more libraries would follow and drop support for 1.8.6.

Nadeem Bitar said 8 days later

I like the require backports idea. Perhaps with a deprecation warning that 1.8.6 is old and might not work right.

Mark Carey said 8 days later

Why not enlist community support for 1.8.6? Or, do what Marc-Andre suggested. It seems odd to just drop support for what’s likely the most widely installed version of Ruby.

Kevin Menard said 9 days later

Out of curiosity, will you have a policy of “Patches welcome”?

Andrew Grimm said 9 days later

I think using backports is the best idea. I’ve used it in a few projects and it works great, and Marc-Andre has been responsive the times I’ve found any issues.

It would be much better to rally the community around helping backports ensure 1.8.6 is compatible with the 1.8.7 APIs, than for each gem to worry about maintaining compatibility with <1.8.7 on thier own.

Dan Kubb said 11 days later

As far as “Patches Welcome” goes, for RDoc and RubyGems I don’t think so. It causes extra work for me (or Nobu) when merging into ruby’s trunk.

If there are critical bugs that need to be fixed I can still make a release for the 1.8.6-supported line.

Eric Hodel said 20 days later

Comments are disabled