concept

Compatibility Mode

The registry setting that defines which schema changes are permitted — backward, forward, full, or none — and therefore what upgrade order is safe.

schema-registryevolutionkafka

The choice encodes an operational assumption, and getting it wrong means an outage during a rollout rather than a build failure.

Backward — new schema can read data written with the old. Safe to upgrade consumers first. The common default.

Forward — old schema can read data written with the new. Safe to upgrade producers first.

Full — both. Required when upgrade order cannot be controlled, which is the realistic case for a long-lived event log with many independent consumers.

Transitive variants check against all previous versions rather than only the last, which matters for a topic retaining years of history — non-transitive checking allows a sequence of individually-safe changes that collectively break a replay from the beginning.

For retained event streams, full transitive is the conservative and usually correct setting.