Versioning rules Traditional versioning sizes of differences between each ver. just feeling Semantic versioning API compatibility changes
Common rule: v1.0.0 is the first GA release GA: General Availability
V0 gems are very dangerous! “Before a 1.0 release (version 0.x.y), the API can and will be changing freely, without regard to the restrictions detailed below.” - APR project versionings “Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.“ - Semantic Versioning 2.0.0 http://apr.apache.org/versioning.html http://semver.org/
Does your v0 gem say? “This gem is under development.” NO: All gems are under development anytime!
Your v0 gem actually says: “This gem will be broken about public APIs.” will break your environment.” is not appropreate to production environment.” “The author doesn’t use this gem in production.” Is it true?
If it’s false: Please, release v1 to express not to break compatibilities.
A tale of norikra.gem v0.0.1: May 21, 2013 (just before RubyKaigi 2013) v0.0.1 - v0.0.24 v0.1.0: November 1, 2013 (w/ release of norikra.github.io) v0.1.0 - v0.1.7 In our production environment from June 2013
Norikra v1.0.0 May 20, 2014 364 days after v0.0.1 release.
Norikra v1.0.1 May 21, 2014 Just 1 year after v0.0.1 release! w/ some bug fixes :(
Norikra v1.0.0 says: “We don’t break features and public APIs.” “The author uses this product in their production environment.”