Semantic Versioning (aka semver) is
a simple set of rules and requirements that dictate how version numbers are assigned and incremented.
Semantic versioning specifications can be found here.
Structure of a version
Always version your app
version attribute in
Display app's version
Always display the app's version in the ap's UI. Choose an unobtrusive location and a small font.
Keep versions in sync
All apps and shared packages in a project should keep their
major.minor versions in sync.
Bumping up versions
- Bump up the patch when creating a new tag (production only).
- Bump up the minor for any backward-incompatible changes to the code. This applies in particular when database migrations are applied.
- Bump up the major on significant changes: typically, bump up to 1.0 upon the first public launch of the app; 2.0 would be used when the app undergoes its first major refactoring.