Structured approach to versioning
Semantic versioning MAJOR.MINOR.PATCH - example 1.4.3 MAJOR - Critical changes. That break maintenance compatibility - new API MINOR - new functionality with maintenance compatibility - added some features PATCH - fix bugs - fixed API endpoint Development steps alpha - raw version, for internal testing beta - stable version rc (release candidate) - almost final version example: 1.0.0-alpha.1 -> 1.0.0-beta.1 - 1.0.0-rc.1 -> 1.0.0

Semantic versioning
MAJOR.MINOR.PATCH - example 1.4.3
MAJOR - Critical changes. That break maintenance compatibility - new API
MINOR - new functionality with maintenance compatibility - added some features
PATCH - fix bugs - fixed API endpoint
Development steps
alpha - raw version, for internal testing
beta - stable version
rc (release candidate) - almost final version
example: 1.0.0-alpha.1 -> 1.0.0-beta.1 - 1.0.0-rc.1 -> 1.0.0