When adding a new SchemaVersion with a major version pre-existing on an earlier SchemaVersion, the new version specification must be backward compatible with the former, and the former forward compatible with the latter.
SchemaVersion (1.1.0) must be backward compatible with SchemaVersion (1.0.0) and SchemaVersion (1.0.0) must be forward compatible with SchemaVersion (1.1.0).
This basically means:
All previous attributes have the same name as the new version.
All previous attributes are in the same order as the new version.
All previous attributes are of the same type as the new version.
Any new attributes are added onto the end of the new version.
These can all be determined by comparing the parsed results of both versions.
When adding a new
SchemaVersion
with a major version pre-existing on an earlierSchemaVersion
, the new version specification must be backward compatible with the former, and the former forward compatible with the latter.Example:
Existing:
SchemaVersion (1.0.0)
New:SchemaVersion (1.1.0)
SchemaVersion (1.1.0)
must be backward compatible withSchemaVersion (1.0.0)
andSchemaVersion (1.0.0)
must be forward compatible withSchemaVersion (1.1.0)
.This basically means:
These can all be determined by comparing the parsed results of both versions.