@@ -18,6 +18,7 @@ This document is a working draft.
1818- [ History] ( #history )
1919- [ CloudEvents Concepts] ( #cloudevents-concepts )
2020- [ Design Goals] ( #design-goals )
21+ - [ Versioning of Attributes] ( #versioning-of-attributes )
2122- [ CloudEvent Attributes Extensions] ( #cloudevent-attribute-extensions )
2223- [ Qualifying Protocols and Encodings] ( #qualifying-protocols-and-encodings )
2324- [ Prior Art] ( #prior-art )
@@ -122,6 +123,25 @@ The following will not be part of the specification:
122123* Language-specific runtime APIs
123124* Selecting a single identity/access control system
124125
126+ ## Versioning of Attributes
127+
128+ For certain CloudEvents attributes, the entity or data model referenced by its
129+ value might change over time. For example, ` schemaurl ` might be a reference
130+ one particular version of a schema document. Often these attribute values
131+ will then distinguish each variant by including some version-specific
132+ string as part of its value. For example, a version number (` v1 ` , ` v2 ` ), or a
133+ date (` 2018-01-01 ` ) might be used.
134+
135+ The CloudEvents specification does not mandate any particular pattern to
136+ be used, or even the use of version strings at all. This decision is up to
137+ each event producer. However, when a version-specific string is included,
138+ care should be taken whenever its value changes as event consumers might
139+ be reliant on the existing value and thus a change could be interpretted
140+ as a "breaking change". Some form of communication between producers and
141+ consumers should be established to ensure the event consumers know what
142+ possible values might be used. In general, this is true for all CloudEvents
143+ attributes as well.
144+
125145## CloudEvent Attribute Extensions
126146
127147In order to achieve the stated goals, the specification authors will attempt to
0 commit comments