Semantic versioning

ALPHA CHANGES (e.g. 0.1.0 -> 0.1.1)

This program will probably have everything about it changed.

BETA CHANGES (e.g. 0.1.0 -> 0.2.0)

The program is in BETA and is in a state where it is ready for dogfooding.

The chances are, if you ask for support on a beta program I will give a lot of it, and freely. In return, you let me know what issues you found.

0.1.5 -> 0.2.0 -- more serious change. 0.3.0 -> 0.3.1 -- less serious change.

BETA -> PRODUCTION-WORTHY

0.5.0 -> 1.0.0 --- no real change in functionality, this is about confidence levels in the code.

MAJOR CHANGE (e.g. 1.0.0 -> 2.0.0)

  • Breaking change(s) to publicly documented API in order to refactor.
  • Breaking change(s) to publicly documented API in order to accomodate a new feature.
  • Fixing a very serious bug that violates built up expectations about how the software should operate.
  • All changes should be rare.

MINOR CHANGE (1.1.5 -> 1.2.0)

  • Fixing a serious bug that may or may not break existing code.
  • Non-breaking change to publicly documented API.
  • Breaking change to publicly documented beta API.

PATCH CHANGE (1.1.1 -> 1.1.2)

  • Fixing an edge case bug.
  • No change to publicly documented API.
  • Non breaking change to public beta API.