Versioning Strategies: Semantic Versioning for Schemas

October 10, 2026 · Part 10 of 20

Opening Scene

A well-run dig site doesn’t just number its layers sequentially and call it done. The catalog distinguishes between a layer that represents a genuinely new era, one that adds detail within an era already documented, and one that’s simply a correction to how an existing layer was recorded. The numbering itself carries meaning. Anyone reading the catalog can tell, from the numbering scheme alone, roughly how significant a given layer actually is before examining a single artifact in it.

In Plain English

Semantic versioning applies a structured numbering scheme — commonly major, minor, and patch numbers — to schema versions, where each part of the number signals a specific kind of change. A major version bump signals a breaking change; a minor version bump signals a backward-compatible addition; a patch signals a fix that doesn’t change the schema’s shape at all. Applied consistently, a version number stops being an arbitrary label and starts functioning as a genuine, at-a-glance risk signal for anyone deciding whether to upgrade.

The Old Way

Before semantic versioning was applied consistently to schemas:

  • Version numbers, when they existed at all, were often just incrementing integers that told you a change happened, but nothing about how significant or risky it was.
  • Consumers frequently had to read a changelog in full, or worse, inspect the schema diff directly, just to figure out whether upgrading was safe.
  • There was rarely an agreed-upon convention across teams for what counted as a “big” versus “small” schema change, so the same kind of change might get numbered inconsistently depending on who shipped it.

Giving a version number the power to actually communicate risk, rather than just sequence, is exactly what a consistent versioning strategy provides.

What’s Changing (and Why AI Is the Reason)

  1. Semantic versioning conventions are increasingly applied to schemas specifically, not just to application code, giving every version number a consistent, predictable meaning across an organization.
  2. This strategy is enforced in practice through the compatibility rules stored in the schema registry covered earlier in this series, which can automatically validate that a proposed change matches the version bump it claims.
  3. Automated systems, including AI agents deciding whether to consume a new schema version, can act on a version number programmatically far more reliably than they can parse a prose changelog — a consistent, machine-readable versioning scheme is what makes that kind of automated decision-making possible at all.

The Metaphor, Fully Extended

The Catalog’s Structured NumberingSemantic Versioning Concept
Numbering that distinguishes a new era from added detailA major version bump distinguished from a minor one
A correction to how an existing layer was recordedA patch version fixing documentation without changing shape
Anyone reading the numbering grasping significance at a glanceAnyone reading a version number grasping risk at a glance
A consistent scheme applied across the entire site’s recordA consistent scheme applied across an entire organization’s schemas

For Beginners: What to Actually Do

  • Learn the basic convention — major for breaking, minor for backward-compatible additions, patch for non-structural fixes — and apply it consistently.
  • Before bumping a version number, ask honestly which category the change actually falls into, rather than defaulting to whatever feels convenient.
  • Get in the habit of checking a schema’s version number as your first signal of risk before diving into the details of a change.

For Practitioners and Leaders: The Deeper Layer

  • Standardize a single semantic versioning convention across every team producing schemas, so a version number means the same thing no matter who shipped it.
  • Enforce version-bump correctness automatically through your schema registry’s compatibility checks, rather than relying on individual judgment alone.
  • Build automated consumers, including AI agents, to act on version numbers programmatically, since a consistent scheme is what makes that kind of automated trust possible.

Quick Recap

  • Semantic versioning gives a schema’s version number a consistent, structured meaning: major for breaking, minor for additive, patch for fixes.
  • Without it, version numbers historically communicated sequence but not risk.
  • A schema registry can enforce that a version bump actually matches the change it represents.
  • Consistent, machine-readable versioning enables automated systems, including AI agents, to act on version numbers directly.

Where This Fits in the Series

Article 9 covered deprecation, retiring a layer deliberately. This article covered how versions get numbered in a way that actually communicates something: semantic versioning. Article 11 moves into a specific, demanding environment for applying all of this: streaming systems, where the flow can’t simply be paused to change the schema.