diff --git a/docs/src/main/asciidoc/kafka-schema-registry-avro.adoc b/docs/src/main/asciidoc/kafka-schema-registry-avro.adoc index 054de5e36cda3..8c06be867948b 100644 --- a/docs/src/main/asciidoc/kafka-schema-registry-avro.adoc +++ b/docs/src/main/asciidoc/kafka-schema-registry-avro.adoc @@ -610,6 +610,81 @@ public class MovieResourceTest { } ---- +[[apicurio-versions-compatibility]] +== Using compatible versions of the Apicurio Registry + +The `quarkus-apicurio-registry-avro` extension depends on recent versions of Apicurio Registry client, +and most versions of Apicurio Registry server and client are backwards compatible. +For some you need to make sure that the client used by Serdes is compatible with the server. + +For example, with Apicurio dev service if you set the image name to use version `2.1.5.Final`: + +[source,properties] +---- +quarkus.apicurio-registry.devservices.image-name=quay.io/apicurio/apicurio-registry-mem:2.1.5.Final +---- + +You need to make sure that `apicurio-registry-serdes-avro-serde` dependency +and the REST client `apicurio-common-rest-client-vertx` dependency are set to compatible versions: + +[source,xml,role="primary asciidoc-tabs-target-sync-cli asciidoc-tabs-target-sync-maven"] +.pom.xml +---- +<dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-apicurio-registry-avro</artifactId> + <exclusions> + <exclusion> + <groupId>io.apicurio</groupId> + <artifactId>apicurio-common-rest-client-vertx</artifactId> + </exclusion> + <exclusion> + <groupId>io.apicurio</groupId> + <artifactId>apicurio-registry-serdes-avro-serde</artifactId> + </exclusion> + </exclusions> +</dependency> +<dependency> + <groupId>io.apicurio</groupId> + <artifactId>apicurio-registry-serdes-avro-serde</artifactId> + <version>2.1.5.Final</version> + <exclusions> + <exclusion> + <groupId>io.apicurio</groupId> + <artifactId>apicurio-common-rest-client-jdk</artifactId> + </exclusion> + </exclusions> +</dependency> +<dependency> + <groupId>io.apicurio</groupId> + <artifactId>apicurio-common-rest-client-vertx</artifactId> + <version>0.1.5.Final</version> +</dependency> +---- + +[source,gradle,role="secondary asciidoc-tabs-target-sync-gradle"] +.build.gradle +---- +dependencies { + implementation(platform("io.quarkus.platform:quarkus-bom:2.12.3.Final")) + + ... + + implementation("io.quarkus:quarkus-apicurio-registry-avro") + implementation("io.apicurio:apicurio-registry-serdes-avro-serde") { + exclude group: "io.apicurio", module: "apicurio-common-rest-client-jdk" + version { + strictly "2.1.5.Final" + } + } + implementation("io.apicurio:apicurio-common-rest-client-vertx") { + version { + strictly "0.1.5.Final" + } + } +} +---- + [[confluent]] == Using the Confluent Schema Registry