> For the complete documentation index, see [llms.txt](https://adidas.gitbook.io/api-guidelines/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adidas.gitbook.io/api-guidelines/asynchronous-api-guidelines/kafka-asynchronous-guidelines/f_schema_data_evolution/forward-compatibility.md).

# Forward Compatibility

Also two variants here:

* FORWARD - Consumers with previous version of the schema (X - 1) can read data produced by Producers with a new schema version (X)
* FORWARD\_TRANSITIVE - Consumers with any previous version of the schema (X - 1, X - 2, ...) can read data produced by Producers with a new schema version (X)

The operations that preserve forward compatibility are:

* Adding a new field
  * Consumers will ignore the fields that are not defined in their schema version
* Deleting optional fields (with default values)
  * Consumers will use the default value for the missing fields defined in their schema version

<figure><img src="/files/zsKt0qmyIPoJ4qm3dtMw" alt=""><figcaption></figcaption></figure>
