The Julia package manager implements semantic versioning differently for packages that are pre-1.0 versus packages that are post-1.0.
For packages that are pre-1.0 (i.e. the package’s version is of the form 0.y.z), we implement the following:
- For breaking changes only, bump the MINOR version number. Example:
0.1.1to0.2.0. -
For new features, bump the PATCH version number. Example:
0.1.1to0.1.2. -
For bug fixes, bump the PATCH version number. Example:
0.1.1to0.1.2.
For packages that are post-1.0 (i.e. the package’s version is of the form x.y.z where x ≥ 1), we implement the following:
- For breaking changes only, bump the MAJOR version number. Example:
1.1.1to2.0.0. - For new features, bump the MINOR version number. Example:
1.1.1to1.2.0. - For bug fixes, bump the PATCH version number. Example:
1.1.1to1.1.2.
More details are available in the Pkg documentation, for example here and here.
TL;DR: If your package is pre-1.0, please do NOT bump the minor version for new features. Instead, please bump the patch version.