Changes for page 14 ANNEX Semantic Versioning
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -41,31 +41,26 @@ 41 41 42 42 MAJOR, MINOR or PATCH version parts in SDMX 3.0 artefact references CAN be wildcarded using "+" as extension: 43 43 44 -* X+.Y.Z means the currently latest available version >= X.Y.Z o Example: "2+.3.1" means the currently latest available version >= 45 - 46 -"2.3.1" (even if not backwards compatible) o Typical use case: references in SDMX Categorisations 47 - 48 -* X.Y+.Z means the currently latest available backwards compatible version >= 49 - 50 -X.Y.Z o Example: "2.3+.1" means the currently latest available version >= "2.3.1" and < "3.0.0" (all backwards compatible versions >= 51 - 52 -"2.3.1") o Typical use case: references in SDMX DSD 53 - 54 -* X.Y.Z+ means the currently latest available forwards and backwards compatible version >= X.Y.Z o Example: "2.3.1+" means the currently latest available version >= "2.3.1" and < "2.4.0" (all forwards and backwards compatible versions >= "2.3.1") 44 +* X+.Y.Z means the currently latest available version >= X.Y.Z 45 +** Example: "2+.3.1" means the currently latest available version >="2.3.1" (even if not backwards compatible) 46 +** Typical use case: references in SDMX Categorisations 47 +* X.Y+.Z means the currently latest available backwards compatible version >=X.Y.Z 48 +** Example: "2.3+.1" means the currently latest available version >= "2.3.1" and < "3.0.0" (all backwards compatible versions >="2.3.1") 49 +** Typical use case: references in SDMX DSD 50 +* X.Y.Z+ means the currently latest available forwards and backwards compatible version >= X.Y.Z 51 +** Example: "2.3.1+" means the currently latest available version >= "2.3.1" and < "2.4.0" (all forwards and backwards compatible versions >= "2.3.1") 55 55 * Non-versioned and 2-digit version SDMX structural artefacts CAN reference any other non-versioned or versioned (whether SemVer or not) SDMX structural artefacts. 56 56 * Semantically versioned artefacts MUST only reference other semantically versioned artefacts. 57 57 * Wildcarded references in a stable artefact implicitly target only future stable versions of the referenced artefacts within the defined wildcard scope. 58 -** Example: The reference to "AGENCY_ID:CODELIST_ID(2.3+.1)" in an artefact "AGENCY_ID:DSD_ID(2.2.1)" resolves to artefact 59 - 60 -"AGENCY_ID:CODELIST_ID(2.4.3)" if that was currently the latest available stable version. 61 - 62 -* Wildcarded references in a version-extended artefact implicitly target future stable and version-extended versions of the referenced artefacts within the defined wildcard scope. o Example: The reference to "AGENCY_ID:CODELIST_ID(2.3+.1)" in an artefact "AGENCY_ID:DSD_ID(2.2.1-draft)" resolves to artefact "AGENCY_ID:CODELIST_ID(2.5.0-draft)" if that was currently the latest available version. 55 +** Example: The reference to "AGENCY_ID:CODELIST_ID(2.3+.1)" in an artefact "AGENCY_ID:DSD_ID(2.2.1)" resolves to artefact "AGENCY_ID:CODELIST_ID(2.4.3)" if that was currently the latest available stable version. 56 +* Wildcarded references in a version-extended artefact implicitly target future stable and version-extended versions of the referenced artefacts within the defined wildcard scope. 57 +** Example: The reference to "AGENCY_ID:CODELIST_ID(2.3+.1)" in an artefact "AGENCY_ID:DSD_ID(2.2.1-draft)" resolves to artefact "AGENCY_ID:CODELIST_ID(2.5.0-draft)" if that was currently the latest available version. 63 63 * References to specific version-extended artefacts MAY be used, but those cannot be combined with a wildcard. 64 64 ** Example: The reference to "AGENCY_ID:CODELIST_ID(2.5.0draft)" in an artefact "AGENCY_ID:DSD_ID(2.2.1)" resolves to artefact "AGENCY_ID:CODELIST_ID(2.5.0-draft)", which might be subject to continued backwards compatible changes. 65 65 66 66 Because both, wildcarded references and references to version-extended artefacts, allow for changes in the referenced artefacts, care needs to be taken when choosing the appropriate references in order to achieve the required limitation in the allowed scope of changes. 67 67 68 -For references to non-dependent artefacts, MAJOR, MINOR or PATCH version parts in SDMX 3.0 artefact references CAN alternatively be wildcarded using "*" as replacement: 63 +For references to non-dependent artefacts, MAJOR, MINOR or PATCH version parts in SDMX 3.0 artefact references CAN alternatively be wildcarded using "*" as replacement: 69 69 70 70 ~* means all available versions 71 71 ... ... @@ -81,11 +81,11 @@ 81 81 82 82 1. Complement the missing version parts with 0s to make the version number SemVer-compliant using the MAJOR.MINOR.PATCH-EXTENSION syntax: 83 83 84 -Example: Version 2 becomes version 2.0.0 and version 3.1 becomes version 3.1.0. 79 + Example: Version 2 becomes version 2.0.0 and version 3.1 becomes version 3.1.0. 85 85 86 86 1. Replace the "isFinal=false" property by the version extensions "-draft" (or alternatively "-unstable" or "-nonfinal" depending on the use case). 87 87 88 -Example: Version 1.3 with isFinal=true becomes version 1.3.0 and version 1.3 with isFinal=false becomes version 1.3.0-draft. 83 + Example: Version 1.3 with isFinal=true becomes version 1.3.0 and version 1.3 with isFinal=false becomes version 1.3.0-draft. 89 89 90 90 If artefact versioning is required but semantic versioning cannot be applied, then version strings used in previous versions of the Standard (e.g., version=1.2) may continue to be used. 91 91