What is Semantic Versioning?
Semantic versioning (https://semver.org/) is a specific way of structuring and using version numbers for APIs and other software artifacts. In this video we look at the details of how versions are numbered using a "MAJOR.MINOR.PATCH" pattern, and what that means in practice. Semantic versioning only makes sense when there is a well-defined model of backwards compatibility and how APIs and other software artifacts can evolve. This video is the first in a three-part series that discusses semantic versioning, how to manage API versioning, and how to design APIs for extensibility and evolvability. We also discuss "Hyrum's Law", which is an important consideration when it comes to using semantic versioning in practice. Hyrum's law tells us to be careful with backwards compatibility, because API consumers tend to rely on all observable behavior of an API, including some that may change. If you are interested in the four-part mini-series about API lifecycle management, here are links to all videos in that series: 1. "What is Semantic Versioning" • What is Semantic Versioning? (this video) 2. "Managing API Versions: The API Lifecycle" • Managing API Versions: The API Lifecycle 3. "Designing APIs for Extensibility: How to create evolvable APIs" • Designing APIs for Extensibility: How to c... 4. "API Lifecycle Management: Deprecation and Sunsetting" • API Lifecycle Management: Deprecation and ...

Understanding Semantic Versioning with Real World Examples

APIs and Web Services: What's the Difference?

Software Versioning Explained - Semantic (SemVer), Calendar (CalVer), etc.

API Business Models: Creating Value with APIs

How to Avoid Dependency Hell in Programming

Why Aliens Would NEVER Invade Africa

How To Choose Version Numbers - Semantic Versioning

API Formats: Why JSON won over XML

Semantic Versioning with Git: A Beginner's Guide

Hyrum's Law: Hyrum Wright on Programming over Time

Semantic Versioning

What is Semantic Versioning? (semver)

Why AI Has Failed to Take Your Job Since 1976

APIs and Microservices: What's the Difference?

API Design Backward and Forward Compatible APIs

Protocol Buffers Crash Course

API vs. SDK: What's the difference?

Open API and OpenAPI: What's the Difference?

How to Manage Releases with Semantic Versioning and Git Tags

