Going forward, a small number of specs may use the "v1/v2/..." versioning scheme (in parallel with date-based versions). To support these:
- Split versions into two groups. Date-based (YYYY-MM-DD) and semver-based (N.N, vN, vN.N, etc). If neither match, error?
- Sort date-based and sem-ver based (separately)
- Rule NOT_LATEST_API_VERSION_IN_DEFAULT_TAG should allow either the latest date-based or semver-based version.
- If needed,
vN should be compatible with the latest date-based version (at the time).
We should also add this to spec-model, instead of special-casing in Avocado.
This should allow us to support both version schemes without any tooling breaking changes.
Example specs
New
Legacy
Going forward, a small number of specs may use the "v1/v2/..." versioning scheme (in parallel with date-based versions). To support these:
vNshould be compatible with the latest date-based version (at the time).We should also add this to spec-model, instead of special-casing in Avocado.
This should allow us to support both version schemes without any tooling breaking changes.
Example specs
New
v1allows non-breaking changes without a new API version2025-05-01follows normal date-based breaking changes rulesLegacy
7.0-7.6are legacy, no more versions of this format should be added2025-07-01supercedes all number-based versions, and all future versions should use dates