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 2023-04-01
- Breaking A change will be made to
Repository.squashPrTitleUsedAsDefault
.Description:squashPrTitleUsedAsDefault
will be removed. UseRepository.squashMergeCommitTitle
instead.Reason:squashPrTitleUsedAsDefault
will be removed.
- Breaking A change will be made to
ProjectV2View.verticalGroupBy
.Description:verticalGroupBy
will be removed. Check out theProjectV2View#vertical_group_by_fields
API as an example for the more capable alternative.Reason:The
ProjectV2View#vertical_group_by
API is deprecated in favour of the more capableProjectV2View#vertical_group_by_fields
API.
- Breaking A change will be made to
ProjectV2View.sortBy
.Description:sortBy
will be removed. Check out theProjectV2View#sort_by_fields
API as an example for the more capable alternative.Reason:The
ProjectV2View#sort_by
API is deprecated in favour of the more capableProjectV2View#sort_by_fields
API.
- Breaking A change will be made to
ProjectV2View.groupBy
.Description:groupBy
will be removed. Check out theProjectV2View#group_by_fields
API as an example for the more capable alternative.Reason:The
ProjectV2View#order_by
API is deprecated in favour of the more capableProjectV2View#group_by_field
API.
Changes scheduled for 2023-01-01
- Breaking A change will be made to
ProjectV2View.visibleFields
.Description:visibleFields
will be removed. Check out theProjectV2View#fields
API as an example for the more capable alternative.Reason:The
ProjectV2View#visibleFields
API is deprecated in favour of the more capableProjectV2View#fields
API.
- Breaking A change will be made to
ProjectNextFieldType.TRACKS
.Description:TRACKS
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.TRACKED_BY
.Description:TRACKED_BY
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.TITLE
.Description:TITLE
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.TEXT
.Description:TEXT
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.SINGLE_SELECT
.Description:SINGLE_SELECT
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.REVIEWERS
.Description:REVIEWERS
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.REPOSITORY
.Description:REPOSITORY
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.NUMBER
.Description:NUMBER
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.MILESTONE
.Description:MILESTONE
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.LINKED_PULL_REQUESTS
.Description:LINKED_PULL_REQUESTS
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.LABELS
.Description:LABELS
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.ITERATION
.Description:ITERATION
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.DATE
.Description:DATE
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
ProjectNextFieldType.ASSIGNEES
.Description:ASSIGNEES
will 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
ProjectNext
API is deprecated in favour of the more capableProjectV2
API.
- Breaking A change will be made to
Commit.changedFiles
.Description:changedFiles
will be removed. UsechangedFilesIfAvailable
instead.Reason:changedFiles
will be removed.
Changes scheduled for 2022-10-01
- Breaking A change will be made to
RepositoryVulnerabilityAlert.fixReason
.Description:fixReason
will be removed.Reason:The
fixReason
field is being removed. You can still usefixedAt
anddismissReason
.
- Breaking A change will be made to
RemovePullRequestFromMergeQueueInput.branch
.Description:branch
will be removed.Reason:PRs are removed from the merge queue for the base branch, the
branch
argument is now a no-op
- Breaking A change will be made to
DependencyGraphDependency.packageLabel
.Description:packageLabel
will be removed. Use normalizedpackageName
field instead.Reason:packageLabel
will be removed.
Changes scheduled for 2022-07-01
- Breaking A change will be made to
AddPullRequestToMergeQueueInput.branch
.Description:branch
will be removed.Reason:PRs are added to the merge queue for the base branch, the
branch
argument is now a no-op
Changes scheduled for 2021-10-01
- Breaking A change will be made to
ReactionGroup.users
.Description:users
will be removed. Use thereactors
field 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:DOCKER
will 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:DRAFT
will be removed. Use PullRequest.isDraft instead.Reason:DRAFT state will be removed from this enum and
isDraft
should be used instead
Changes scheduled for 2020-10-01
- Breaking A change will be made to
PullRequest.timeline
.Description:timeline
will be removed. Use PullRequest.timelineItems instead.Reason:timeline
will be removed
- Breaking A change will be made to
Issue.timeline
.Description:timeline
will be removed. Use Issue.timelineItems instead.Reason:timeline
will be removed
Changes scheduled for 2020-01-01
- Breaking A change will be made to
UnassignedEvent.user
.Description:user
will be removed. Use theassignee
field instead.Reason:Assignees can now be mannequins.
- Breaking A change will be made to
AssignedEvent.user
.Description:user
will be removed. Use theassignee
field instead.Reason:Assignees can now be mannequins.
Changes scheduled for 2019-04-01
- Breaking A change will be made to
LegacyMigration.uploadUrlTemplate
.Description:uploadUrlTemplate
will be removed. UseuploadUrl
instead.Reason:uploadUrlTemplate
is being removed because it is not a standard URL and adds an extra user step.