Compatibility Policies
A key Schema Registry feature is the ability to version schemas as they evolve. Compatibility policies are created at the schema metadata level, and define evolution rules for each schema.
After a policy is defined for a schema, any subsequent version updates must honor the schema’s original compatibility setting; otherwise, you experience an error.
You can configure your compatibility policies for backward, forward, or full compatibility, or for no compatibility at all:
- Backward Compatibility
Indicates that new versions of a schema are compatible with earlier versions. That means that the data written from an earlier version of the schema can be deserialized by using a new version of the schema.
With backward compatibility, you can edit your schemas by deleting portions, but you cannot add information.
- Forward Compatibility
Indicates that an existing schema is compatible with subsequent versions. That means the data written from new version of the schema can still be read with old version of the schema.
- Full Compatibility
Indicates that a new version of the schema provides both backward and forward compatibilities.
- None
Indicates that no compatibility policy is in place.
The default value is None.
You set the compatibility policy when you are adding a schema. Once set, you cannot change it.