Wednesday, November 26, 2014

Ruby 1.9.3 EOL and Chef 12 [feedly]

Ruby 1.9.3 EOL and Chef 12
// Chef Blog

Hi Chefs,

We've decided not to support Ruby 1.9.3 in the upcoming Chef 12.0 release, in accordance with the support policy we approved in Chef RFC 015 and made explicit here.

Before explaining the rationale, I'd like to be clear that Chef 12 Omnibus packages will ship with Ruby 2.1 for Unix-like systems and 2.0 for Windows (we'd prefer to ship with 2.1 here as well, but are prevented from doing so by some dependencies), so users of Omnibus packages will not be impacted by this change at all.

Our goal is to allow you to upgrade minor versions with confidence that your existing installation procedures and automation code will continue to work correctly. We also want to be able to ship new features, bug fixes, and security updates as safely and quickly as possible.

As you may know, the Ruby core team has announced that 1.9.3 will become EOL in February of 2015. Given that our major releases have historically had a lifecycle longer than one year, Ruby 1.9.3 will become EOL during the 12.0 release cycle. If we were to support Ruby 1.9.3 in the 12.0 release, we would have to either maintain support for an EOL Ruby version for the entire life of Chef 12, or drop support in the middle of the 12 release cycle. Both of these options have serious drawbacks that hinder us from achieving our goal of delivering improvements safely and quickly.

To implement this change, we will be setting the minimum Ruby version attribute of the Chef gem to require Ruby 2.0 or above. We've considered allowing 1.9.3 to continue to function, perhaps with a warning, but decided against that approach because it's inherently unsafe. Warnings tend to get ignored until they're errors, so attempting to run Chef 12 on Ruby 1.9.3 will be an error.

If you have any questions or comments, feel free to contact us on the mailing list, IRC, or though our support team.


Shared via my feedly reader

Sent from my iPhone