GitHub should resume REST API versioning to prevent breaking changes for integrators #182300
Replies: 1 comment
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Select Topic Area
Product Feedback
Body
A recent incident in the GitHub Actions API exposed a systemic problem with REST API contract stability:
https://github.com/orgs/community/discussions/9752
In that case, production behavior for an existing endpoint changed in a way that diverged from the published OpenAPI schema and documented HTTP semantics, resulting in breakage across downstream tooling. The issue was not discoverable via version negotiation, preview headers, or opt-in mechanisms, because no new API version was introduced.
GitHub's REST API is versioned specifically to prevent this class of failure. In practice, however, contract-affecting behavior has been introduced on existing API versions, relying on rollout timing or changelogs rather than explicit versioning. That approach does not work for integrators who depend on machine-verifiable contracts.
Many tools rely on the OpenAPI schema and HTTP status codes as the source of truth. When those drift from production behavior, SDKs, generated clients, CI systems, and automation tooling fail in ways that are difficult to diagnose and recover from.
This incident demonstrates why REST API versioning needs to be actively used again for contract-affecting changes:
Rolling back the change addressed the immediate breakage. The longer-term fix is to reestablish API versioning as the primary mechanism for introducing breaking or contract-affecting behavior, even if version bumps are infrequent.
Clear guidance on when versioning is required, and ensuring schemas and documentation are updated in lockstep with production behavior, would materially reduce integration risk for the ecosystem.
Beta Was this translation helpful? Give feedback.
All reactions