MuleSoft follows Semantic Versioning model.
Example of version: 1.0.0 (Major. Minor. Patch)
Major – Breaking changes, backwards compatible
- New Mandatory Input
- Removing
- Renaming
Minor – New features, backwards incompatible
- New methods
- New versions
Patch – Non-breaking, backwards compatible
- Bug fixes
- Documentation changes
- Description updates
We put only the major usually in URL – That’s why we avoid a major as much as we can
- 1.0.0 -> v1
- 1.0.1 -> v1
- 1.9.2 -> v1
- 2.0.0 -> v2
- 2.5.0 -> v2
We actually “lie” on version and stay on v1 URL until another major. 1.0.0 & 1.9.5 would still be on v1
Placement in the URI
- In the basePath
- my-app-randomLettersInOrderToGetAnUniqueId.us-e2.cloudhub.io/api/v1/* Usually one major version running
- In the application name
- my-app-v1.us-e2.cloudhub.io/api/* Multiple versions running concurently
Notes about MuleSoft versioning
Two major versions of the same API will have two difference autodiscovery IDs.
MuleSoft API assets follow the same versioning format.