Skip to main content

Breaking changes

Learn about recent and upcoming breaking changes to the GitHub GraphQL API.

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 2027-01-01

  • Breaking A change will be made to CheckAnnotation.databaseId.
    Description:

    databaseId will be removed. Use fullDatabaseId instead.

    Reason:

    databaseId will be removed because it does not support 64-bit signed integer identifiers.

  • Breaking A change will be made to Artifact.databaseId.
    Description:

    databaseId will be removed. Use fullDatabaseId instead.

    Reason:

    databaseId will be removed because it does not support 64-bit signed integer identifiers.

Changes scheduled for 2026-10-01

  • Breaking A change will be made to User.viewerRelevantRepositories.
    Description:

    viewerRelevantRepositories will be removed. Use viewerCopilotChatRepositorySuggestions instead.

    Reason:

    viewerRelevantRepositories has been renamed to viewerCopilotChatRepositorySuggestions.

Changes scheduled for 2026-07-01

  • Breaking A change will be made to Team.viewerSubscription.
    Description:

    viewerSubscription will be removed.

    Reason:

    Team.viewerSubscription will be removed. Team notifications subscriptions are being deprecated.

  • Breaking A change will be made to Team.viewerCanSubscribe.
    Description:

    viewerCanSubscribe will be removed.

    Reason:

    Team.viewerCanSubscribe will be removed. Team notifications subscriptions are being deprecated.

Changes scheduled for 2026-04-01

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.userUrl.
    Description:

    userUrl will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.userResourcePath.
    Description:

    userResourcePath will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.userLogin.
    Description:

    userLogin will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.user.
    Description:

    user will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.organizationUrl.
    Description:

    organizationUrl will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.organizationResourcePath.
    Description:

    organizationResourcePath will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.organizationName.
    Description:

    organizationName will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.organization.
    Description:

    organization will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.operationType.
    Description:

    operationType will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.isLdapMapped.
    Description:

    isLdapMapped will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.createdAt.
    Description:

    createdAt will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.actorUrl.
    Description:

    actorUrl will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.actorResourcePath.
    Description:

    actorResourcePath will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.actorLogin.
    Description:

    actorLogin will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.actorLocation.
    Description:

    actorLocation will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.actorIp.
    Description:

    actorIp will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.actor.
    Description:

    actor will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveRepositoryAuditEntry.action.
    Description:

    action will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.userUrl.
    Description:

    userUrl will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.userResourcePath.
    Description:

    userResourcePath will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.userLogin.
    Description:

    userLogin will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.user.
    Description:

    user will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.organizationUrl.
    Description:

    organizationUrl will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.organizationResourcePath.
    Description:

    organizationResourcePath will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.organizationName.
    Description:

    organizationName will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.organization.
    Description:

    organization will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.operationType.
    Description:

    operationType will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.isLdapMapped.
    Description:

    isLdapMapped will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.createdAt.
    Description:

    createdAt will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.actorUrl.
    Description:

    actorUrl will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.actorResourcePath.
    Description:

    actorResourcePath will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.actorLogin.
    Description:

    actorLogin will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.actorLocation.
    Description:

    actorLocation will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.actorIp.
    Description:

    actorIp will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.actor.
    Description:

    actor will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to TeamRemoveMemberAuditEntry.action.
    Description:

    action will be removed.

    Reason:

    The GraphQL audit-log is deprecated. Please use the REST API instead.

  • Breaking A change will be made to