When to use what versioning scheme
- Use CalVer for applications
- Use SemVer for libraries
Why?
- CalVer promises maintenance; final products (like applications) age (see: app stores)
- SemVer promises composition; components (like libraries) are parts of a greater whole (see: package managers)
Caveats
- Absent tooling to enforce it, SemVer is an optimistic promise