(Here the terms differ from the classic semver.org where 2.0.0 is composed of MAJOR.MINOR.PATCH
: The ruby scheme, as illustrated in version.h
or test_gem.rb
, is more V2.0.0pxxx, as in MAJOR.MINOR.TEENY.PATCHLEVEL
)
Previously, a version number for Ruby with an odd minor version number signified an experimental version. So Ruby 1.7 was experimental, while Ruby 1.8 was a production version.
The Ruby core team has changed this so that, with the advent of Ruby 1.9.0, Ruby 1.9 is no longer considered experimental, although it may be a while before the implementation becomes ready for production use
Today, a minor version contains semantic differences:
On the other hand, Ruby 1.9 is not completely backward compatible with Ruby 1.8. Some of the semantics have changed. For example, block arguments are now local to the block, and there are subtle changes to block semantics.The changes mean that many existing Ruby programs will need some amount of conversion to take advantage of Ruby 1.9.
teeny (like 1.9.2) adds new features
patchlevel is more about a build number, adding internal fixes, security fixes, promoting a ruby version to "production level" (as that was the case for 1.9.2-p290)