Skip to main content

重大更改

了解最近和即将发生的 GitHub GraphQL API 重大变更。

关于重大变更

重大变更是指可能需要集成商采取行动的任何变更。 我们将这些变更分为两类:

  • 中断性变更:会改变对 GraphQL API 的现有查询的变更。 例如,删除字段就是重大变更。
  • 危险变更:不会改变现有查询,但会影响客户端运行时的行为的变更。 添加枚举值就是一个危险变更示例。

我们努力为集成商提供稳定的 API。 当某项新功能还处于完善阶段时,我们将在架构预览模式下发布此功能。

我们将在更改 GraphQL 架构前至少三个月宣布即将发生的重大变更,以便给集成商预留进行必要调整的时间。 变更在季度第一天(1 月 1 日、4 月 1 日、7 月 1 日或 10 月 1 日)生效。 例如,如果我们在 1 月 15 日宣布变更,将在 7 月 1 日执行。

Changes scheduled for 2024-07-01

Changes scheduled for 2023-10-01

  • Breaking A change will be made to PullRequestReviewComment.position.
    Description:

    position will be removed. Use the line and startLine fields instead, which are file line numbers instead of diff line numbers

    Reason:

    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 the threads argument instead

    Reason:

    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 instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.pullRequestId.
    Description:

    pullRequestId will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.position.
    Description:

    position will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.path.
    Description:

    path will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.inReplyTo.
    Description:

    inReplyTo will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.commitOID.
    Description:

    commitOID will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.body.
    Description:

    body will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    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 the ProjectV2ItemFieldGroup#groupByField API as an example for the more capable alternative.

    Reason:

    The ProjectV2ItemFieldGroup#field API is deprecated in favour of the more capable ProjectV2ItemFieldGroup#groupByField API.

  • Breaking A change will be made to MergeQueueEntry.isSolo.
    Description:

    isSolo will be removed. Use solo instead.

    Reason:

    isSolo will be removed.

  • Breaking A change will be made to MergeQueueEntry.headOid.
    Description:

    headOid will be removed. Use headCommit instead.

    Reason:

    headOid will be removed.

  • Breaking A change will be made to MergeQueueEntry.hasJumpedQueue.
    Description:

    hasJumpedQueue will be removed. Use jump instead.

    Reason:

    hasJumpedQueue will be removed.

  • Breaking A change will be made to MergeQueueEntry.checkStatus.
    Description:

    checkStatus will be removed. Use state instead.

    Reason:

    checkStatus will be removed.

  • Breaking A change will be made to MergeQueueEntry.blockedByMergeConflicts.
    Description:

    blockedByMergeConflicts will be removed. Use state instead.

    Reason:

    blockedByMergeConflicts will be removed.

  • Breaking A change will be made to MergeQueueEntry.baseOid.
    Description:

    baseOid will be removed. Use baseCommit 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. Use configuration.merge_method instead.

    Reason:

    mergeMethod will be removed.

  • Breaking A change will be made to MergeQueue.headOid.
    Description:

    headOid will be removed. Use entry.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. Use Repository.squashMergeCommitTitle instead.

    Reason:

    squashPrTitleUsedAsDefault will be removed.

  • Breaking A change will be made to ProjectV2View.verticalGroupBy.
    Description:

    verticalGroupBy will be removed. Check out the ProjectV2View#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 capable ProjectV2View#vertical_group_by_fields API.

  • Breaking A change will be made to ProjectV2View.sortBy.
    Description:

    sortBy will be removed. Check out the ProjectV2View#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 capable ProjectV2View#sort_by_fields API.

  • Breaking A change will be made to ProjectV2View.groupBy.
    Description:

    groupBy will be removed. Check out the ProjectV2View#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 capable ProjectV2View#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 the ProjectV2View#fields API as an example for the more capable alternative.

    Reason:

    The ProjectV2View#visibleFields API is deprecated in favour of the more capable ProjectV2View#fields API.

  • Breaking A change will be made to Commit.changedFiles.
    Description:

    changedFiles will be removed. Use changedFilesIfAvailable 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 normalized packageName 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 the reactors 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. Use Sponsorship.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. Use Sponsorship.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 the assignee field instead.

    Reason:

    Assignees can now be mannequins.

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

    user will be removed. Use the assignee 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. Use uploadUrl instead.

    Reason:

    uploadUrlTemplate is being removed because it is not a standard URL and adds an extra user step.