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

To infinity and beyond: enabling the future of GitHub's REST API with API versioning

Blog post from GitHub

Post Details
Company
Date Published
Author
Tim Rogers
Word Count
838
Language
English
Hacker News Points
-
Summary

GitHub has introduced a calendar-based versioning system for its REST API to facilitate the evolution of the API while ensuring a smooth migration path for existing users. This new versioning strategy allows for the introduction of breaking changes, such as deleting response fields or endpoints, by releasing a new version named after its release date, with previous versions remaining accessible to avoid forcing immediate upgrades. Users can specify their preferred API version using the X-GitHub-Api-Version header, and non-breaking changes will remain available across all versions. The versioning applies solely to the REST API, not affecting the GraphQL API or webhooks. GitHub commits to supporting previous versions for at least two years but anticipates providing longer support in practice. The initial version under this system is 2022-11-28, mirroring the API's existing state, and users are encouraged to update their integrations accordingly. Future versions will be accompanied by changelogs, upgrade guides, and proactive communication through blog posts and emails to ensure developers are informed and equipped to manage updates efficiently.