About breaking changes
Breaking changes are any changes that might require action from our integrators. We divide these changes into two categories:
- Breaking: Changes that will break existing queries to the GraphQL API. For example, removing a field would be a breaking change.
- Dangerous: Changes that won't break existing queries but could affect the runtime behavior of clients. Adding an enum value is an example of a dangerous change.
We strive to provide stable APIs for our integrators. When a new feature is still evolving, we release it behind a schema preview.
We'll announce upcoming breaking changes at least three months before making changes to the GraphQL schema, to give integrators time to make the necessary adjustments. Changes go into effect on the first day of a quarter (January 1st, April 1st, July 1st, or October 1st). For example, if we announce a change on January 15th, it will be made on July 1st.
Changes scheduled for 2022-10-01
- Breaking A change will be made to UnlockAndResetMergeGroupInput.branch.Description:branchwill be removed.Reason:The current merge group for the repository's default branch, the branchargument is now a no-op
- Breaking A change will be made to RepositoryVulnerabilityAlert.fixReason.Description:fixReasonwill be removed.Reason:The fixReasonfield is being removed. You can still usefixedAtanddismissReason.
- Breaking A change will be made to RemovePullRequestFromMergeQueueInput.branch.Description:branchwill be removed.Reason:PRs are removed from the merge queue for the base branch, the branchargument is now a no-op
- Breaking A change will be made to ProjectNextFieldType.TRACKS.Description:TRACKSwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.TITLE.Description:TITLEwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.TEXT.Description:TEXTwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.SINGLE_SELECT.Description:SINGLE_SELECTwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.REVIEWERS.Description:REVIEWERSwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.REPOSITORY.Description:REPOSITORYwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.NUMBER.Description:NUMBERwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.MILESTONE.Description:MILESTONEwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.LINKED_PULL_REQUESTS.Description:LINKED_PULL_REQUESTSwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.LABELS.Description:LABELSwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.ITERATION.Description:ITERATIONwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.DATE.Description:DATEwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to ProjectNextFieldType.ASSIGNEES.Description:ASSIGNEESwill be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.Reason:The ProjectNextAPI is deprecated in favour of the more capableProjectV2API.
- Breaking A change will be made to MergeLockedMergeGroupInput.branch.Description:branchwill be removed.Reason:Changes are merged into the repository's default branch, the branchargument is now a no-op
- Breaking A change will be made to LockMergeQueueInput.branch.Description:branchwill be removed.Reason:The merge queue is locked for the repository's default branch, the branchargument is now a no-op
Changes scheduled for 2022-07-01
- Breaking A change will be made to AddPullRequestToMergeQueueInput.branch.Description:branchwill be removed.Reason:PRs are added to the merge queue for the base branch, the branchargument is now a no-op
Changes scheduled for 2022-04-01
- Breaking A change will be made to Repository.defaultMergeQueue.Description:defaultMergeQueuewill be removed. UseRepository.mergeQueueinstead.Reason:defaultMergeQueuewill be removed.
Changes scheduled for 2021-10-01
- Breaking A change will be made to ReactionGroup.users.Description:userswill be removed. Use thereactorsfield instead.Reason:Reactors can now be mannequins, bots, and organizations. 
Changes scheduled for 2021-06-21
- Breaking A change will be made to PackageType.DOCKER.Description:DOCKERwill be removed.Reason:DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. 
Changes scheduled for 2021-01-01
- Breaking A change will be made to MergeStateStatus.DRAFT.Description:DRAFTwill be removed. Use PullRequest.isDraft instead.Reason:DRAFT state will be removed from this enum and isDraftshould be used instead
Changes scheduled for 2020-10-01
- Breaking A change will be made to PullRequest.timeline.Description:timelinewill be removed. Use PullRequest.timelineItems instead.Reason:timelinewill be removed
- Breaking A change will be made to Issue.timeline.Description:timelinewill be removed. Use Issue.timelineItems instead.Reason:timelinewill be removed
Changes scheduled for 2020-01-01
- Breaking A change will be made to UnassignedEvent.user.Description:userwill be removed. Use theassigneefield instead.Reason:Assignees can now be mannequins. 
- Breaking A change will be made to AssignedEvent.user.Description:userwill be removed. Use theassigneefield instead.Reason:Assignees can now be mannequins. 
Changes scheduled for 2019-04-01
- Breaking A change will be made to LegacyMigration.uploadUrlTemplate.Description:uploadUrlTemplatewill be removed. UseuploadUrlinstead.Reason:uploadUrlTemplateis being removed because it is not a standard URL and adds an extra user step.