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