jargon

Comparison

Backward compatibilityvsSchema compatibility mode

Backward compatibility

you add the field as optional so the clients that have never heard of it keep working unchanged.

The property that existing callers keep working against the new version. It is the constraint that governs every API change once you do not control all clients. The practical rules are small: add optional, never remove or rename, never narrow a type, never add a required field, never change the meaning of an existing value.

Full entry →

Schema compatibility mode

you tried to add a required field and the registry rejected it, because old consumers could not read the new messages.

The rule a registry applies when a new schema version is proposed: backward means new readers can read old data, forward means old readers can read new data, full means both. Which one you need depends on whether producers or consumers upgrade first, which is a deployment question rather than a data one. Setting it to none because a change was blocked is how a registry becomes a filing cabinet.

Full entry →

Related comparisons