The content originates from Xie’s blog
Here are some consistent rules helping us to make version numbers comprehensible if we should modify my versin numbers.
- Major is incremented when the release contains breaking changes, all other numbers are set to 0.
- Minor is incremented when the release contains new non-breaking features, patch is set to 0.
- Patch is incremented when the release only contains bugfixes and very minor/trivial features considered necessary.
The dev notation refers to the next release, i.e.:
5.0.0-dev is the development version leading to
For package development:
- a version number is of the form
- only the version
x.yis released to CRAN
x.y.zis always the development version, and each time a new feature or a bug fix or a __change __is introduced, bump the patch version, e.g., from
- when one feels it is time to release to CRAN, bump the minor version, e.g., from
- when a change is crazy enough that many users are presumably going to yell at you (see the illustration above), it is time to bump the major version, e.g., from
- the version
1.0does not imply maturity; it is just because it is potentially very different from
0.x(such as API changes); same thing applies to