# Versioning > An index and topic collection covering API versioning patterns, schema evolution, and breaking-change detection across the API lifecycle. API versioning communicates change to consumers, while schema versioning and diff tooling makes those changes explicit, reviewable, and reversible. This collec... This is the **Versioning** topic area of [API Evangelist](https://apievangelist.com) — a network of focused knowledge bases drawn from 16 years of independent API research by Kin Lane. Browse all areas at https://apievangelist.com/areas/. ## Services & Tools - [Apicurio](https://providers.apis.io/providers/apicurio/) (repo: https://github.com/api-evangelist/apicurio) - [Apollo GraphQL](https://providers.apis.io/providers/apollo-graphql/) (repo: https://github.com/api-evangelist/apollo-graphql) - [Axway](https://providers.apis.io/providers/axway/) (repo: https://github.com/api-evangelist/axway) - [Beamer](https://providers.apis.io/providers/beamer/) (repo: https://github.com/api-evangelist/beamer) - [Buf](https://providers.apis.io/providers/buf/) (repo: https://github.com/api-evangelist/buf) - [Bump.sh](https://providers.apis.io/providers/bump-sh/) (repo: https://github.com/api-evangelist/bump-sh) - [Changelog](https://providers.apis.io/providers/changelog/) (repo: https://github.com/api-evangelist/changelog) - [CHANGELOG.md (Keep a Changelog)](https://providers.apis.io/providers/changelog-md/) (repo: https://github.com/api-evangelist/changelog-md) - [Confluent](https://providers.apis.io/providers/confluent-the-data-streaming-platform/) (repo: https://github.com/api-evangelist/confluent-the-data-streaming-platform) - [Dapr](https://providers.apis.io/providers/dapr/) (repo: https://github.com/api-evangelist/dapr) - [Dependabot.yml](https://providers.apis.io/providers/dependabot-yml/) (repo: https://github.com/api-evangelist/dependabot-yml) - [GitHub](https://providers.apis.io/providers/github/) (repo: https://github.com/api-evangelist/github) - [GitLab](https://providers.apis.io/providers/gitlab/) (repo: https://github.com/api-evangelist/gitlab) - [LaunchNotes](https://providers.apis.io/providers/launchnotes/) (repo: https://github.com/api-evangelist/launchnotes) - [Liblab](https://providers.apis.io/providers/liblab/) (repo: https://github.com/api-evangelist/liblab) - [Oasdiff](https://providers.apis.io/providers/oasdiff/) (repo: https://github.com/api-evangelist/oasdiff) - [Optic](https://providers.apis.io/providers/optic/) (repo: https://github.com/api-evangelist/optic) - [Redpanda](https://providers.apis.io/providers/redpanda/) (repo: https://github.com/api-evangelist/redpanda) - [Renovate](https://providers.apis.io/providers/renovate-json/) (repo: https://github.com/api-evangelist/renovate-json) - [Scalar](https://providers.apis.io/providers/scalar/) (repo: https://github.com/api-evangelist/scalar) - [Schema Evolution](https://providers.apis.io/providers/schema-evolution/) (repo: https://github.com/api-evangelist/schema-evolution) - [Sentry](https://providers.apis.io/providers/sentry/) (repo: https://github.com/api-evangelist/sentry) - [Spectral](https://providers.apis.io/providers/spectral/) (repo: https://github.com/api-evangelist/spectral) - [Stoplight](https://providers.apis.io/providers/stoplight/) (repo: https://github.com/api-evangelist/stoplight) - [Stripe](https://providers.apis.io/providers/stripe/) (repo: https://github.com/api-evangelist/stripe) - [Sunset Header](https://providers.apis.io/providers/sunset-header/) (repo: https://github.com/api-evangelist/sunset-header) - [Versioning Protocols](https://providers.apis.io/providers/versioning-protocols/) (repo: https://github.com/api-evangelist/versioning-protocols) ## Common Features - **Semantic and Calendar Versioning**: Established conventions like SemVer (MAJOR.MINOR.PATCH) and CalVer (YYYY.MM) give API and library producers a shared vocabulary for communicating compatibility and release cadence to consumers. - **Breaking Change Detection**: Spec-diff tools like oasdiff, openapi-diff, Optic, and GraphQL Inspector compare two versions of an API specification and classify changes as breaking, non-breaking, or unclassified before they ship to production. - **Schema Registries and Evolution**: Platforms like Apicurio, Confluent Schema Registry, Buf Schema Registry, and Apollo GraphOS track every version of a schema, enforce compatibility rules (backward, forward, full), and prevent incompatible deploys. - **API Version Headers and Date-Based Versioning**: Providers like Stripe and GitHub pin requests to a version via a header or date string, allowing the platform to ship new API behavior without breaking existing integrations. - **Deprecation and Sunsetting**: The Deprecation and Sunset HTTP headers (RFC 8594 / RFC 9745) and platform-level deprecation policies give consumers structured advance notice that an endpoint or version is going away. - **Documentation and Changelog Versioning**: Tools like Bump.sh, Stoplight, Scalar, LaunchNotes, and Keep a Changelog publish per-version API references and human-readable release notes alongside the underlying spec or code change. - **Conventional Commits and Release Automation**: The Conventional Commits specification encodes change type (feat, fix, BREAKING CHANGE) directly in commit messages so that SemVer bumps and changelogs can be generated automatically. - **Dependency Version Management**: Bots like Dependabot and Renovate continuously open pull requests to upgrade dependencies, respecting SemVer ranges and surfacing breaking changes upstream. ## Use Cases - **Pre-Merge Breaking Change Gate**: Run oasdiff or Optic in CI on every pull request that touches the OpenAPI spec and block the merge if breaking changes are introduced without an explicit major version bump. - **Date-Pinned API Versions**: Issue per-account or per-request API versions (e.g. Stripe's 2024-04-10 versioning) so customer integrations remain stable while the platform iterates rapidly behind the scenes. - **Schema Registry Compatibility Enforcement**: Producers and consumers of Kafka, gRPC, or GraphQL schemas register every revision in Apicurio, Confluent, Buf, or Apollo and the registry refuses incompatible changes at publish time. - **Multi-Version API Documentation**: Publish v1, v2, and v3 documentation simultaneously through Bump.sh, Stoplight, or Scalar so consumers on older versions still have authoritative reference material. - **Deprecation and Sunset Notification**: Emit Deprecation and Sunset HTTP headers from deprecated endpoints, then track consumer migration through analytics before fully removing the version. - **Automated SemVer Release**: Use Conventional Commits plus tools like semantic-release to compute the next SemVer version, generate a changelog, tag the repo, and publish a release entirely from commit history. - **Continuous Dependency Upgrades**: Configure Dependabot or Renovate to open weekly PRs for dependency upgrades, with SemVer-aware grouping and automatic merge for non-breaking patches. - **API Changelog and Release Notes**: Publish a structured changelog through LaunchNotes, Beamer, or Keep a Changelog conventions so consumers can review what changed in every API release. ## Related Areas - [Change Log](https://change-log.apievangelist.com): An index and topic collection covering developer changelog publishing, release-notes platforms, and API change-tracki... - [Deprecation](https://deprecation.apievangelist.com): API deprecation, sunset headers, end-of-life management, and API retirement practices, including RFC 8594 Sunset, the... - [Regulation](https://regulation.apievangelist.com): Regulation encompasses the rules, laws, and standards established by governments, agencies, and standards bodies that... ## More - [Latest Versioning stories](/stories/) - [All API Evangelist topic areas](https://apievangelist.com/areas/) - [API Evangelist network index (llms.txt)](https://apievangelist.com/llms.txt)