Inferensys

Glossary

Semantic Versioning

A formal convention for assigning version numbers (MAJOR.MINOR.PATCH) to software and schemas to communicate the nature and impact of changes, particularly breaking changes.
Stylish home-office setup in a modern highrise apartment, floor-to-ceiling windows showing city skyline at golden hour, a laptop displaying a beautiful semantic search interface.
SCHEMA GOVERNANCE

What is Semantic Versioning?

Semantic Versioning (SemVer) is a formal convention for assigning and incrementing version numbers to software and data schemas using a MAJOR.MINOR.PATCH format to communicate the nature and impact of code changes.

Semantic Versioning is a specification that dictates how version numbers are assigned and incremented. A version number follows the strict format of MAJOR.MINOR.PATCH (e.g., 2.4.1). The MAJOR version is incremented when incompatible API or schema-breaking changes are introduced, signaling that consumers must update their integration logic to avoid failure.

The MINOR version is incremented when new, backward-compatible functionality is added, while the PATCH version is incremented for backward-compatible bug fixes. This deterministic signaling system is critical for schema evolution in automated pipelines, allowing data contracts to be updated without breaking downstream consumers who rely on specific structural guarantees.

MAJOR.MINOR.PATCH

Core Properties of Semantic Versioning

Semantic Versioning (SemVer) is a formal convention for assigning version numbers to software and schemas to communicate the nature and impact of changes. It provides a shared contract between maintainers and consumers, eliminating dependency hell.

01

The MAJOR Version

Increment the MAJOR version when you make incompatible API changes.

  • A breaking change requires consumers to modify their integration code.
  • Examples: removing a field, renaming an endpoint, changing a data type.
  • A major version bump signals that backward compatibility is broken.
  • In schema evolution, a new MAJOR version indicates the new schema cannot read data written by the old schema.
02

The MINOR Version

Increment the MINOR version when you add functionality in a backward-compatible manner.

  • New optional fields, endpoints, or features are added without breaking existing consumers.
  • Existing functionality continues to operate unchanged.
  • In a content model, adding a new optional property to a JSON Schema is a MINOR change.
  • Consumers can safely upgrade without modifying their code.
03

The PATCH Version

Increment the PATCH version when you make backward-compatible bug fixes.

  • Corrects incorrect behavior without altering the public API.
  • Examples: fixing a validation rule, correcting a typo in a description, resolving a calculation error.
  • Consumers should always be able to accept PATCH updates without risk.
  • A PATCH bump signals improved stability, not new capability.
04

Pre-release and Build Metadata

SemVer supports optional pre-release and build metadata labels appended with a hyphen or plus sign.

  • 1.0.0-alpha.1 indicates an unstable pre-release version.
  • 1.0.0+build.2024 adds build metadata without affecting precedence.
  • Pre-release versions have lower precedence than the associated normal version.
  • Useful for continuous integration pipelines and staged rollouts of schema changes.
05

Version Precedence Rules

SemVer defines a strict ordering algorithm for comparing versions.

  • Precedence is calculated by comparing MAJOR, MINOR, PATCH, and pre-release identifiers numerically from left to right.
  • 1.0.0 < 2.0.0 < 2.1.0 < 2.1.1.
  • 1.0.0-alpha < 1.0.0.
  • This deterministic ordering is critical for dependency resolvers in package managers and schema registries.
06

SemVer in Schema Evolution

In schema-driven content modeling, SemVer maps directly to compatibility guarantees.

  • MAJOR: A schema change that breaks backward or forward compatibility.
  • MINOR: Adding an optional field; forward-compatible, backward-compatible.
  • PATCH: Correcting a description or constraint without altering data structure.
  • A Schema Registry enforces these rules, rejecting incompatible schema versions before they reach production.
SEMANTIC VERSIONING

Frequently Asked Questions

Clear answers to the most common questions about the formal convention for communicating the nature and impact of software and schema changes.

Semantic Versioning (SemVer) is a formal convention for assigning version numbers to software releases using a three-part MAJOR.MINOR.PATCH format (e.g., 2.4.1). It communicates the nature and impact of changes to consumers of an API or schema. The rules are strict: increment the MAJOR version when you make incompatible API changes, increment the MINOR version when you add functionality in a backward-compatible manner, and increment the PATCH version when you make backward-compatible bug fixes. This deterministic system replaces arbitrary versioning, allowing developers to assess risk instantly by looking at a version number. For example, a change from 1.3.0 to 2.0.0 signals breaking changes that require code modification, while a move from 1.3.0 to 1.4.0 indicates safe, new features.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.