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

  • Breaking A change will be made to EnterprisePendingCollaboratorEdge.isUnlicensed.

    Description:

    isUnlicensed will be removed.

    Reason:

    All pending collaborators consume a license

  • Breaking A change will be made to EnterpriseOutsideCollaboratorEdge.isUnlicensed.

    Description:

    isUnlicensed will be removed.

    Reason:

    All outside collaborators consume a license

  • Breaking A change will be made to EnterpriseMemberEdge.isUnlicensed.

    Description:

    isUnlicensed will be removed.

    Reason:

    All members consume a license

Changes scheduled for 2020-10-01

  • Breaking A change will be made to RepositoryInvitationOrderField.INVITEE_LOGIN.

    Description:

    INVITEE_LOGIN will be removed.

    Reason:

    INVITEE_LOGIN is no longer a valid field value. Repository invitations can now be associated with an email, not only an invitee.

  • 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

  • Breaking A change will be made to EnterpriseOwnerInfo.pendingCollaborators.

    Description:

    pendingCollaborators will be removed. Use the pendingCollaboratorInvitations field instead.

    Reason:

    Repository invitations can now be associated with an email, not only an invitee.

Changes scheduled for 2020-07-01

  • Breaking A change will be made to EnterprisePendingMemberInvitationEdge.isUnlicensed.

    Description:

    isUnlicensed will be removed.

    Reason:

    All pending members consume a license

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 EnterpriseBillingInfo.seats.

    Description:

    seats will be removed. Use EnterpriseBillingInfo.totalLicenses instead.

    Reason:

    seats will be replaced with totalLicenses to provide more clarity on the value being returned

  • Breaking A change will be made to EnterpriseBillingInfo.availableSeats.

    Description:

    availableSeats will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses instead.

    Reason:

    availableSeats will be replaced with totalAvailableLicenses to provide more clarity on the value being returned

  • 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.