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'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 2025-10-01
- Breaking A change will be made to
SecurityAdvisory.cvss
.Description:cvss
will be removed. Newcvss_severities
field will now contain bothcvss_v3
andcvss_v4
properties.Reason:cvss
will be removed.
Changes scheduled for 2025-04-01
- Breaking A change will be made to
ProjectV2Workflow.databaseId
.Description:databaseId
will be removed. UsefullDatabaseId
instead.Reason:databaseId
will be removed because it does not support 64-bit signed integer identifiers.
- Breaking A change will be made to
ProjectV2View.databaseId
.Description:databaseId
will be removed. UsefullDatabaseId
instead.Reason:databaseId
will be removed because it does not support 64-bit signed integer identifiers.
- Breaking A change will be made to
ProjectV2StatusUpdate.databaseId
.Description:databaseId
will be removed. UsefullDatabaseId
instead.Reason:databaseId
will be removed because it does not support 64-bit signed integer identifiers.
- Breaking A change will be made to
ProjectV2Item.databaseId
.Description:databaseId
will be removed. UsefullDatabaseId
instead.Reason:databaseId
will be removed because it does not support 64-bit signed integer identifiers.
- Breaking A change will be made to
ProjectV2.databaseId
.Description:databaseId
will be removed. UsefullDatabaseId
instead.Reason:databaseId
will be removed because it does not support 64-bit signed integer identifiers.
- Breaking A change will be made to
EnterpriseOwnerInfo.outsideCollaborators.hasTwoFactorEnabled
.Description:hasTwoFactorEnabled
will be removed. Usetwo_factor_method_security
instead.Reason:has_two_factor_enabled
will be removed.
- Breaking A change will be made to
EnterpriseOwnerInfo.admins.hasTwoFactorEnabled
.Description:hasTwoFactorEnabled
will be removed. Usetwo_factor_method_security
instead.Reason:has_two_factor_enabled
will be removed.
- Breaking A change will be made to
Enterprise.members.hasTwoFactorEnabled
.Description:hasTwoFactorEnabled
will be removed. Usetwo_factor_method_security
instead.Reason:has_two_factor_enabled
will be removed.
Changes scheduled for 2025-01-01
- Breaking A change will be made to
AddMobileDevicePublicKeyPayload.expiresAt
.Description:expiresAt
will be removed. Do not rely on this field, it is currently set to a date far in the future if a device key is expirationlessReason:We are deprecating expirations for mobile device keys used in mobile 2FA
Changes scheduled for 2024-10-01
- Breaking A change will be made to
Workflow.hasWorkflowDispatchTrigger
.Description:hasWorkflowDispatchTrigger
will be removed. Usehas_workflow_dispatch_trigger_for_branch(branch_ref)
instead.Reason:has_workflow_dispatch_trigger
is being removed because it can be misleading and only checks a repository's default branch
Changes scheduled for 2024-07-01
- Breaking A change will be made to
TeamDiscussionComment.url
.Description:url
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussionComment.resourcePath
.Description:resourcePath
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussionComment.number
.Description:number
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussionComment.discussion
.Description:discussion
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussionComment.bodyVersion
.Description:bodyVersion
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussionComment.authorAssociation
.Description:authorAssociation
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.viewerCanPin
.Description:viewerCanPin
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.url
.Description:url
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.title
.Description:title
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.team
.Description:team
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.resourcePath
.Description:resourcePath
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.number
.Description:number
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.isPrivate
.Description:isPrivate
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.isPinned
.Description:isPinned
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.commentsUrl
.Description:commentsUrl
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.commentsResourcePath
.Description:commentsResourcePath
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.comments
.Description:comments
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.bodyVersion
.Description:bodyVersion
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
TeamDiscussion.authorAssociation
.Description:authorAssociation
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
PullRequestReviewComment.databaseId
.Description:databaseId
will be removed. UsefullDatabaseId
instead.Reason:databaseId
will be removed because it does not support 64-bit signed integer identifiers.
- Breaking A change will be made to
PullRequestReview.databaseId
.Description:databaseId
will be removed. UsefullDatabaseId
instead.Reason:databaseId
will be removed because it does not support 64-bit signed integer identifiers.
- Breaking A change will be made to
PullRequest.databaseId
.Description:databaseId
will be removed. UsefullDatabaseId
instead.Reason:databaseId
will be removed because it does not support 64-bit signed integer identifiers.
- Breaking A change will be made to
OrganizationInvitation.inviter
.Description:inviter
will be removed.inviter
will be replaced byinviterActor
.Reason:inviter
will be removed.
- Breaking A change will be made to
CreateTeamDiscussionPayload.teamDiscussion
.Description:teamDiscussion
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
CreateTeamDiscussionInput.title
.Description:title
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
CreateTeamDiscussionInput.teamId
.Description:teamId
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
CreateTeamDiscussionInput.private
.Description:private
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
CreateTeamDiscussionInput.body
.Description:body
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
CreateTeamDiscussionCommentPayload.teamDiscussionComment
.Description:teamDiscussionComment
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
CreateTeamDiscussionCommentInput.discussionId
.Description:discussionId
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
- Breaking A change will be made to
CreateTeamDiscussionCommentInput.body
.Description:body
will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement.Reason:The Team Discussions feature is deprecated in favor of Organization Discussions.
Changes scheduled for 2024-04-01
- Breaking A change will be made to
TopicSuggestionDeclineReason.TOO_SPECIFIC
.Description:TOO_SPECIFIC
will be removed.Reason:Suggested topics are no longer supported
- Breaking A change will be made to
TopicSuggestionDeclineReason.TOO_GENERAL
.Description:TOO_GENERAL
will be removed.Reason:Suggested topics are no longer supported
- Breaking A change will be made to
TopicSuggestionDeclineReason.PERSONAL_PREFERENCE
.Description:PERSONAL_PREFERENCE
will be removed.Reason:Suggested topics are no longer supported
- Breaking A change will be made to
TopicSuggestionDeclineReason.NOT_RELEVANT
.Description:NOT_RELEVANT
will be removed.Reason:Suggested topics are no longer supported
- Breaking A change will be made to
DeclineTopicSuggestionPayload.topic
.Description:topic
will be removed.Reason:Suggested topics are no longer supported
- Breaking A change will be made to
DeclineTopicSuggestionInput.repositoryId
.Description:repositoryId
will be removed.Reason:Suggested topics are no longer supported
- Breaking A change will be made to
DeclineTopicSuggestionInput.reason
.Description:reason
will be removed.Reason:Suggested topics are no longer supported
- Breaking A change will be made to
DeclineTopicSuggestionInput.name
.Description:name
will be removed.Reason:Suggested topics are no longer supported
- Breaking A change will be made to
AcceptTopicSuggestionPayload.topic
.Description:topic
will be removed.Reason:Suggested topics are no longer supported
- Breaking A change will be made to
AcceptTopicSuggestionInput.repositoryId
.Description:repositoryId
will be removed.Reason:Suggested topics are no longer supported
- Breaking A change will be made to
AcceptTopicSuggestionInput.name
.Description:name
will be removed.Reason:Suggested topics are no longer supported
Changes scheduled for 2023-10-01
- Breaking A change will be made to
PullRequestReviewComment.position
.Description:position
will be removed. Use theline
andstartLine
fields instead, which are file line numbers instead of diff line numbersReason:We are phasing out diff-relative positioning for PR comments
- Breaking A change will be made to
PullRequestReviewComment.originalPosition
.Description:originalPosition
will be removed.Reason:We are phasing out diff-relative positioning for PR comments
- Breaking A change will be made to
AddPullRequestReviewInput.comments
.Description:comments
will be removed. use thethreads
argument insteadReason:We are deprecating comment fields that use diff-relative positioning
- Breaking A change will be made to
AddPullRequestReviewCommentInput.pullRequestReviewId
.Description:pullRequestReviewId
will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply insteadReason:We are deprecating the addPullRequestReviewComment mutation
- Breaking A change will be made to
AddPullRequestReviewCommentInput.pullRequestId
.Description:pullRequestId
will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply insteadReason:We are deprecating the addPullRequestReviewComment mutation
- Breaking A change will be made to
AddPullRequestReviewCommentInput.position
.Description:position
will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply insteadReason:We are deprecating the addPullRequestReviewComment mutation
- Breaking A change will be made to
AddPullRequestReviewCommentInput.path
.Description:path
will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply insteadReason:We are deprecating the addPullRequestReviewComment mutation
- Breaking A change will be made to
AddPullRequestReviewCommentInput.inReplyTo
.Description:inReplyTo
will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply insteadReason:We are deprecating the addPullRequestReviewComment mutation
- Breaking A change will be made to
AddPullRequestReviewCommentInput.commitOID
.Description:commitOID
will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply insteadReason:We are deprecating the addPullRequestReviewComment mutation
- Breaking A change will be made to
AddPullRequestReviewCommentInput.body
.Description:body
will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply insteadReason:We are deprecating the addPullRequestReviewComment mutation
Changes scheduled for 2023-07-01
- Breaking A change will be made to
ProjectV2ItemFieldGroup.field
.Description:field
will be removed. Check out theProjectV2ItemFieldGroup#groupByField
API as an example for the more capable alternative.Reason:The
ProjectV2ItemFieldGroup#field
API is deprecated in favour of the more capableProjectV2ItemFieldGroup#groupByField
API.
- Breaking A change will be made to
MergeQueueEntry.isSolo
.Description:isSolo
will be removed. Usesolo
instead.Reason:isSolo
will be removed.
- Breaking A change will be made to
MergeQueueEntry.headOid
.Description:headOid
will be removed. UseheadCommit
instead.Reason:headOid
will be removed.
- Breaking A change will be made to
MergeQueueEntry.hasJumpedQueue
.Description:hasJumpedQueue
will be removed. Usejump
instead.Reason:hasJumpedQueue
will be removed.
- Breaking A change will be made to
MergeQueueEntry.checkStatus
.Description:checkStatus
will be removed. Usestate
instead.Reason:checkStatus
will be removed.
- Breaking A change will be made to
MergeQueueEntry.blockedByMergeConflicts
.Description:blockedByMergeConflicts
will be removed. Usestate
instead.Reason:blockedByMergeConflicts
will be removed.
- Breaking A change will be made to
MergeQueueEntry.baseOid
.Description:baseOid
will be removed. UsebaseCommit
instead.Reason:baseOid
will be removed.
- Breaking A change will be made to
MergeQueue.pendingRemovalEntries
.Description:pendingRemovalEntries
will be removed.Reason:pendingRemovalEntries
will be removed.
- Breaking A change will be made to
MergeQueue.mergingEntries
.Description:mergingEntries
will be removed.Reason:mergingEntries
will be removed.
- Breaking A change will be made to
MergeQueue.mergeMethod
.Description:mergeMethod
will be removed. Useconfiguration.merge_method
instead.Reason:mergeMethod
will be removed.
- Breaking A change will be made to
MergeQueue.headOid
.Description:headOid
will be removed. Useentry.headOid
instead.Reason:headOid
will be removed.
- Breaking A change will be made to
Commit.pushedDate
.Description:pushedDate
will be removed.Reason:pushedDate
is no longer supported.
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-02-10
- Breaking A change will be made to
PackageType.MAVEN
.Description:MAVEN
will be removed.Reason:MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST 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
Commit.changedFiles
.Description:changedFiles
will be removed. UsechangedFilesIfAvailable
instead.Reason:changedFiles
will be removed.
Changes scheduled for 2022-12-28
- Breaking A change will be made to
PackageType.RUBYGEMS
.Description:RUBYGEMS
will be removed.Reason:RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API.
Changes scheduled for 2022-11-21
- Breaking A change will be made to
PackageType.NUGET
.Description:NUGET
will be removed.Reason:NUGET will be removed from this enum as this type will be migrated to only be used by the Packages REST API.
- Breaking A change will be made to
PackageType.NPM
.Description:NPM
will be removed.Reason:NPM will be removed from this enum as this type will be migrated to only be used by the Packages REST API.
Changes scheduled for 2022-10-01
- 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
Query.sponsorables.dependencyEcosystem
.Description:dependencyEcosystem
will be removed. Use the ecosystem argument instead.Reason:The type is switching from SecurityAdvisoryEcosystem to DependencyGraphEcosystem.
- 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
Sponsorship.sponsor
.Description:sponsor
will be removed. UseSponsorship.sponsorEntity
instead.Reason:Sponsorship.sponsor
will be removed.
- 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-04-01
- Breaking A change will be made to
Sponsorship.maintainer
.Description:maintainer
will be removed. UseSponsorship.sponsorable
instead.Reason:Sponsorship.maintainer
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.