---
title: "Confluent Schema Registry subjects and versions for Kafka"
description: "The orders-value subject starts at v1 under BACKWARD compatibility. Two compatible changes in Confluent Schema Registry grow its Kafka schema history to v3."
url: https://monedula.dev/kafka-simulator/scenarios/subjects-and-versions/
---

# Confluent Schema Registry subjects and versions for Kafka

Scenario 10.4.1 · Subjects and versions. Schema registry · Intermediate · about 3 min · Apache Kafka 4.3 · Confluent Platform feature.

A subject (orders-value) is an ordered list of schema versions. Register compatible changes and the history grows v1 → v2 → v3.

Run it: https://monedula.dev/kafka-simulator/playground/?scenario=10.4.1

## What you start with

In Schema Registry, a subject (here orders-value) is a named, ordered history of schema versions for a topic. This scenario registers a sequence of compatible changes and watches the subject's version history grow v1 → v2 → v3.

## Step by step

1. **orders-value · v1** (t+0.000s): The schema registry holds one subject, orders-value - the value schema for the orders topic. It starts with a single version, v1, under the default backward compatibility. A subject is just an ordered list of versions plus the mode that gates the next registration. [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=10.4.1&t=0)
2. **register v2 (compatible)** (t+1.000s): A new schema version is registered. The change is both backward- and forward-compatible (think: adding an optional field with a default), so it is accepted under backward and the subject advances to v2. No schema text is parsed - the change's compatibility is declared explicitly and the registry decides deterministically. [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=10.4.1&t=1)
3. **register v3 (compatible)** (t+2.000s): Another compatible change appends v3. The subject's version history now reads v1 → v2 → v3. Consumers can pin a specific version while producers move forward; that ordered, append-only history is exactly what a subject tracks. [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=10.4.1&t=2)

## The takeaway

A subject is the unit of schema evolution: each compatible registration appends a new version while every prior version stays available, so old and new clients can keep reading.

## Further reading

- [Confluent documentation](https://docs.confluent.io/platform/current/schema-registry/index.html)
