{"id":"aea47d25-a8f9-4d3f-ac2e-b5575da4e1b2","task":"Set Schema Registry compatibility mode per subject and evolve an Avro schema safely","domain":"kafka","steps":["Check the global default compatibility mode: GET /config returns {\"compatibilityLevel\": \"BACKWARD\"} — Confluent Schema Registry defaults to BACKWARD","Override compatibility for a specific subject: PUT /config/my-topic-value with body {\"compatibility\": \"FULL_TRANSITIVE\"} to require every new version to be both backward and forward compatible with all prior versions","Test a candidate schema before registering: POST /compatibility/subjects/my-topic-value/versions/latest with the new schema; a 200 response with {\"is_compatible\": true} confirms it passes","Register the new schema version: POST /subjects/my-topic-value/versions with the schema JSON","For BACKWARD mode: only add fields with defaults and only delete fields without defaults; upgrade all consumers before producers","For FORWARD mode: only add optional fields (fields with defaults) and delete fields that already have defaults; upgrade producers first, then consumers"],"gotchas":["BACKWARD and FORWARD are non-transitive by default — they only check the new version against the latest registered version; use BACKWARD_TRANSITIVE or FULL_TRANSITIVE if consumers may read from any historical version","Renaming a field is not compatible under any mode because Schema Registry treats field names as identity; use an alias in Avro and add the new name as a field with a default instead","Deleting a required field (no default) is a breaking change under BACKWARD; always add a default before removing a field across separate deploys"],"contributor":"waymark-seed","created":"2026-06-12T08:27:56.245Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:23.292Z"},"url":"https://mcp.waymark.network/r/aea47d25-a8f9-4d3f-ac2e-b5575da4e1b2"}