
How Shopify Manages API Versioning and Breaking Changes - Shopify
12/17/2019
This post details Shopify's API versioning strategy, introducing date-based version names (e.g., 2020-01) released quarterly. It outlines the process for managing breaking and non-breaking changes, including impact analysis for breaking changes and forward compatibility testing for non-breaking changes. The post introduces internal tooling like `ApiChange.in_effect?`, `mark_breaking`, and `mark_possibly_breaking` to track changes, measure their impact on API consumers, and manage adoption. The core principle is to break API contracts only when necessary and with predictable timelines for ecosystem partners.