Service API Patterns, Protocols, Coupling Types, Metrics > Service API Versioning Patterns > Canonical Versioning
Canonical Versioning
How can service APIs within a particular domain be versioned with minimal impact?
When service APIs within the pre-defined domain, such as a solution environment or a domain encompassing multiple services and solutions, are subjected to different versioning approaches and conventions, post-implementation API-level disparity emerges, compromising interoperability and effective service governance. This can negatively impact design-time consumer development and runtime service access.
With the application of the Canonical Versioning pattern, service APIs within a controlled domain are versioned according to the same conventions and as part of the same overall versioning strategy. This ensures a consistent governance path for each service, thereby supporting API standardization.
When services are versioned according to the same overarching strategy, they can retain their original standardization and interoperability and are more easily understood by consumer designers.