A Constraint may reference many Dataflows or Metadataflows, the addition of more references to flow objects does not version the Constraint. This is because the Constraints are not properties of the flows – they merely make references to them.
I believe that the statement "the addition of more references to flow objects does not version the Constraint" is incorrect. The given justification "they merely make references to them" would imply that any artefact that references other artefacts would not be versionable, which is fully in opposite with the purpose of semantic versioning.
Actually, whenever a constraint changes (even because it references (constrains) other artefacts) then it absolutely needs to increase its version because this would be the only mean to indicate to others that a change has happened and that an another system wishing to synchronise its artefact copies needs to get the new version!
The SDMX-TWG TF2 working document on "Reorganising Constraints" actually stated:
Any changes that include the following, result into minor version increase:
– Adding new Constrainables. ...
In the SDMX STANDARDS: SECTION 6 TECHNICAL NOTES Version 3.0, page 28, line 897 it currently says:
I believe that the statement "the addition of more references to flow objects does not version the Constraint" is incorrect. The given justification "they merely make references to them" would imply that any artefact that references other artefacts would not be versionable, which is fully in opposite with the purpose of semantic versioning.
Actually, whenever a constraint changes (even because it references (constrains) other artefacts) then it absolutely needs to increase its version because this would be the only mean to indicate to others that a change has happened and that an another system wishing to synchronise its artefact copies needs to get the new version!
The SDMX-TWG TF2 working document on "Reorganising Constraints" actually stated: