The SlideWiki project follows the Semantic Versioning scheme as describe by the Semantic Versioning specification at (1).
A version number consists of three positive integer numbers, separated by a dot:
MARJOR.MINOR.PATCH
Citing (1):
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
Application to SlideWiki
- The rule for major version changes (1.) is also applied especially when the database model changes in a way that the new version of a service cannot be deployed with an existing database (→ a pull of the updated image renders a deployment inoperable)
- Backwards-compatible is defined as: The new version can be deployed by simply (as in automatic) updating the respective Docker images. No further steps are required and correct operation of any production deployment is ensured.
- A major version change may require an operator of a production deployment to take additional steps such as using new/updated deployment scripts or running database migration scripts to pull content from the old database into that of the new deployment.
- The SlideWiki project in general guarantees that content hosted in a system of version X can be migrated to a deployment of major version X+1
Questions:
- How do we handle version dependencies?
- platform → microservices
- microservice X → microservice Y