PSA: If your package's version is of the form `0.y.z`, please do NOT bump the minor version for new features

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 to 0.2.0.
  • For new features, bump the PATCH version number. Example: 0.1.1 to 0.1.2.
  • For bug fixes, bump the PATCH version number. Example: 0.1.1 to 0.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 to 2.0.0.
  • For new features, bump the MINOR version number. Example: 1.1.1 to 1.2.0.
  • For bug fixes, bump the PATCH version number. Example: 1.1.1 to 1.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.

76 Likes