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 has been defined for a schema, any subsequent version updates must honor the schema’s original compatibility, otherwise you experience an error.
Compatibility of schemas can be configured with any of the below values:
- Backward Compatibility
Indicates that new version of a schema would be compatible with earlier version of that schema. That means the data written from earlier version of the schema, can be deserialized with a new version of the schema.
When you have a Backward Compatibility policy on your schema, you can evolve schemas by deleting portions, but you cannot add information.
- Forward Compatibility
Indicates that an existing schema is compatible with subsequent versions of the schema. 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.
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.