Home / Companies / Snowplow / Blog / Post Details
Content Deep Dive

Introducing SchemaVer for semantic versioning of schemas

Blog post from Snowplow

Post Details
Company
Date Published
Author
Alex Dean
Word Count
1,733
Language
English
Hacker News Points
-
Summary

SchemaVer is a new versioning system proposed by Snowplow for data schemas, diverging from the traditional Semantic Versioning (SemVer) used in software development due to the unique requirements of schema versioning. While SemVer focuses on versioning software changes with increments based on compatibility, SchemaVer introduces a MODEL-REVISION-ADDITION structure to address the backward compatibility of data schemas with historical data. The MODEL is incremented for breaking changes incompatible with historical data, REVISION for changes that may affect some historical data, and ADDITION for changes fully compatible with all historical data. Unlike SemVer, SchemaVer uses hyphens to separate version numbers and starts from version 1. This system is designed not only for Snowplow's internal use but also for broader applications, such as in JSON Schema versioning, RESTful APIs, and other document-oriented software systems, with the draft proposal open for feedback to refine and formalize its application.