Last modified by Artur on 2025/09/10 11:19

From version 2.1
edited by Helena
on 2025/06/16 15:43
Change comment: There is no comment for this version
To version 1.4
edited by Helena
on 2025/06/16 15:40
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -84,11 +84,11 @@
84 84  
85 85  If artefact versioning is required and SDMX 3.0.0 Semantic Versioning is available within the tools and processes used, then it is recommended to switch to Semantic Versioning with the following steps:
86 86  
87 -~1. Complement the missing version parts with 0s to make the version number SemVer-compliant using the MAJOR.MINOR.PATCH-EXTENSION syntax:
87 +1. Complement the missing version parts with 0s to make the version number SemVer-compliant using the MAJOR.MINOR.PATCH-EXTENSION syntax:
88 88  
89 89  Example: Version 2 becomes version 2.0.0 and version 3.1 becomes version 3.1.0.
90 90  
91 -2. Replace the "isFinal=false" property by the version extensions "-draft" (or alternatively "-unstable" or "-nonfinal" depending on the use case).
91 +1. Replace the "isFinal=false" property by the version extensions "-draft" (or alternatively "-unstable" or "-nonfinal" depending on the use case).
92 92  
93 93  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.
94 94  
... ... @@ -96,7 +96,8 @@
96 96  
97 97  Note: Like for other not fully backwards compatible SDMX 3.0 features, also some cases of semantically versioned SDMX 3.0 artefacts cannot be converted back to earlier SDMX versions. This is the case when one or more extensions have been created in parallel to the corresponding stable version. In this case, only the stable version SHOULD be converted to a final version (e.g., 3.2.1 becomes 3.2.1 final, and 3.2.1-draft cannot be converted back).
98 98  
99 -== 14.6 FAQ for Semantic Versioning ==
99 +1.
100 +11. FAQ for Semantic Versioning
100 100  
101 101  **My organisation is new to SDMX and starts to implement 3.0 or starts to implement a new process fully based on SDMX 3.0. Which versioning scheme should be used?**
102 102  
... ... @@ -153,16 +153,24 @@
153 153  
154 154  One with named groups for those systems that support them (PCRE [Perl Compatible Regular Expressions, i.e. Perl, PHP and R], Python and Go).
155 155  
156 -Reduced version (without original SemVer "build metadata") from: [[https:~~/~~/regex101.com/r/Ly7O1x/3/>>url:https://regex101.com/r/Ly7O1x/3/]]
157 +Reduced version (without original SemVer "build metadata") from: [[https:~~/~~/regex101.com/r/Ly7O1x/3/>>url:https://regex101.com/r/Ly7O1x/3/]][[url:https://regex101.com/r/Ly7O1x/3/]]
157 157  
158 -> ^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:-(?P<extension>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?$
159 +^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-
159 159  
161 +9]\d*)(?:-(?P<extension>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-
162 +
163 +]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?$
164 +
160 160  And one with numbered capture groups instead (so cg1 = major, cg2 = minor, cg3 = patch and cg4 = extension) that is compatible with ECMA Script (JavaScript), PCRE (Perl Compatible Regular Expressions, i.e. Perl, PHP and R), Python and Go.
161 161  
162 -Reduced version (without original SemVer "build metadata") from: [[https:~~/~~/regex101.com/r/vkijKf/1>>url:https://regex101.com/r/vkijKf/1/]]
167 +Reduced version (without original SemVer "build metadata") from: [[https:~~/~~/regex101.com/r/vkijKf/1/>>url:https://regex101.com/r/vkijKf/1/]][[url:https://regex101.com/r/vkijKf/1/]]
163 163  
164 -> ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?$
169 +^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-
165 165  
171 +9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-
172 +
173 +][0-9a-zA-Z-]*))*))?$
174 +
166 166  **Must I adopt semantic versioning rules when switching to SDMX 3.0?**
167 167  
168 168  No. If backwards compatibility with pre-existing tools and processes is required, then it is possible to continue using the previous versioning scheme (with up to two version parts MAJOR.MINOR). Semantic versioning is indicated only for those use cases where a proper artefact versioning is required. If versioning does not apply to some or all of your artefacts, then rather migrate to non-versioned SDMX 3.0 artefacts.