This software uses Semantic Versioning. Given a version number MAJOR.MINOR.PATCH, increment the: 1. MAJOR version when you make incompatible API changes, 2. MINOR version when you add functionality in a backwards compatible manner, and 3. PATCH version when you make backwards compatible bug fixes. In addition this software uses labels such as RELEASE CANDIDATE for when I think things good enough for a STABLE RELEASE but needs further real world testing. RELEASE versions are tagged with Git so that you may checkout and build specific releases. Non-tagged versions are essentially developer nightly versions and NOT intended for general usage. see https://semver.org/ for the specifics