This version of GitHub Enterprise was discontinued on 2021-06-09. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

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

  • Breaking A change will be made to User.registryPackagesForQuery.

    Description:

    registryPackagesForQuery will be removed. Use the PackageSearch object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to User.registryPackages.

    Description:

    registryPackages will be removed. Use the PackageOwner object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to Sponsorship.maintainer.

    Description:

    maintainer will be removed. Use Sponsorship.sponsorable instead.

    Reason:

    Sponsorship.maintainer will be removed.

  • Breaking A change will be made to Repository.registryPackagesForQuery.

    Description:

    registryPackagesForQuery will be removed. Use the PackageSearch object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to Repository.registryPackages.

    Description:

    registryPackages will be removed. Use the PackageOwner object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersionStatistics.downloadsTotalCount.

    Description:

    downloadsTotalCount will be removed. Use the PackageVersionStatistics object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersionStatistics.downloadsToday.

    Description:

    downloadsToday will be removed. Use the PackageVersionStatistics object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersionStatistics.downloadsThisYear.

    Description:

    downloadsThisYear will be removed. Use the PackageVersionStatistics object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersionStatistics.downloadsThisWeek.

    Description:

    downloadsThisWeek will be removed. Use the PackageVersionStatistics object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersionStatistics.downloadsThisMonth.

    Description:

    downloadsThisMonth will be removed. Use the PackageVersionStatistics object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersion.viewerCanEdit.

    Description:

    viewerCanEdit will be removed. Use the PackageVersion object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersion.version.

    Description:

    version will be removed. Use the PackageVersion object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersion.updatedAt.

    Description:

    updatedAt will be removed. Use the PackageVersion object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersion.summary.

    Description:

    summary will be removed. Use the PackageVersion object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersion.statistics.

    Description:

    statistics will be removed. Use the PackageVersion object instead.

    Reason:

    Renaming GitHub Packages fields and objects.

  • Breaking A change will be made to RegistryPackageVersion.size.

    Description:

    size will be removed. Use the PackageVersion object instead.

    Reason:

    Renaming GitHub Packages fields and objects.