Schema Registry and Avro
payment.created-value usa FULL_TRANSITIVE no Schema Registry 8.3.1 (localhost:8082). V1 foi registado como ID 1/version 1. V2 adicionou merchantId nullable com default null, foi aceite como version 2 e funcionou nas duas direções: consumer V2 leu V1 e consumer V1 ignorou o campo novo.
Alterar currency de string para int foi rejeitado com HTTP 409, error_code=40901, TYPE_MISMATCH. Compatibilidade estrutural não garante compatibilidade semântica: não se deve mudar o significado de um campo só porque o Registry aceita a forma.