On what basis ruby and ruby on rails versions are named -


i curious on basis ruby , ror versions named. example, after ruby 1.9.3, version 2.0 instead of 1.10 or 1.9.4, , in rails. there must convention or rule.

ruby , rails, many other projects follow semantic versioning.

they don't follow letter, though. example, ruby 1.9 backwards-incompatible ruby 1.8, whereas ruby 2.0 compatible ruby 1.9, ruby 1.9 should have been ruby 2.0 , ruby 2.0 should have been ruby 2.1.

in particular case, there historic "marketing" reasons that: term "ruby 2.0" has been used in ruby community on 10 years mark specific "mythical" version specific, talked-about features scoped monkey patching , traits. releasing version without features still calling "2.0" have been more confusing breaking rules of semantic versioning. (actually, ruby 2.0 was released without traits , it has led confusion!)

otoh, impossible call "1.10", because ruby_version constant returns version string, , lot of tools (incorrectly)

if ruby_version <= '1.8'   def foo   end end 

which break, because string '1.10' less than string '1.8'.

therefore, decided settle on 1.9.


Comments

Popular posts from this blog

node.js - Bad Request - node js ajax post -

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -