Versioning
- Every object carries
"specVersion": "<major>.<minor>". Schemas live underhttps://istointents.org/schemas/<major>.<minor>/. - SemVer for the protocol. A minor version only adds optional fields, categories, purposes or enum values that receivers can ignore. Anything else — removing a field, making a field required, changing a field's meaning — is a major version.
- 0.x is a draft line. 0.x minors MAY break compatibility; each such change is listed in a changelog with a migration note. 1.0 freezes the core objects.
- Receivers MUST ignore unknown fields and SHOULD accept objects of the same major version with a higher minor.
- Extensions use
x-keys or a URI key underextensions. An extension MUST NOT redefine a core field; a widely used extension is promoted into a minor version and itsx-key deprecated. - Categories (
vehicle,property, …) are added by minor version together with their criteria schema; until then a category is an extension URI. - Privacy guarantees never relax within a major version (withholding small counts, fixed bands, sealing of hidden limits, deletion deadlines). They may only become stricter.