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.1
to0.2.0
. -
For new features, bump the PATCH version number. Example:
0.1.1
to0.1.2
. -
For bug fixes, bump the PATCH version number. Example:
0.1.1
to0.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.1
to2.0.0
. - For new features, bump the MINOR version number. Example:
1.1.1
to1.2.0
. - For bug fixes, bump the PATCH version number. Example:
1.1.1
to1.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.