Use a versioning convention
What
A system in place to label your versions.
Why
This helps to determine how your software is released and provides clarity to users on recency
When
Mid-Development
Implementations:
- SemVer
- Provides a standard way of communicating whether changes were major, minor, or patches
- Provides compatibility guarantees within major versions
- What is determined to be major, minor, or patch items can be arbitrary between projects and can be difficult to define
- Can be complex when working with larger projects
- CalVer
- Clear time-based context
- Codifies release cadence
- Less detail on changes
- No built-in compatibility guarantees
- Rolling release
- Users are always on the cutting edge of the application
- Difficult for adoption
- Makes no guarantees on stability
Recommendation:
SemVer