Closed rpiazza closed 3 years ago
We should discuss as this would be new text. Depending on the text, this could be a clarification or a material change.
In the 2nd to last paragraph of 3.6 the following text should be changed:
Producers who do this SHOULD use the property names created_by_ref, created, modified, and revoked.
with
Producers who do this MUST use all of the following property names: created_by_ref, created, modified, and revoked.
There can be an issue if someone was to accidentally just use one of the properties and not all of them.
Also, the text current says:
In STIX 2.1, SCOs do not explicitly have those three versioning properties. Therefore, a SCO cannot be versioned unless extensions are used as discussed in section 7.3. Producers who do this SHOULD use the property names created_by_ref, created, modified, and revoked.
Are we saying that you can do this using the deprecated custom properties?
We reworded the first paragraph to include the contents from the 2nd to last paragraph. The new first paragraph reads as:
Versioning is the mechanism that object creators use to update and revoke the STIX Objects that they create. This section describes the versioning process and normative rules for performing versioning and revocation. STIX Objects that are versioned MUST use the property names created_by_ref, created, modified, and revoked. SCOs are not versioned and thus do not have the four versioning properties. See the properties table in section 3.2 for full definitions and normative usage of those properties.
It should be clear what versioning related common property combinations are appropriate. For instance, having revoked without created and/or modified makes no sense.
See discussion on https://github.com/oasis-open/cti-python-stix2/pull/458