# 重大更改

了解每个 REST API 版本中引入的中断性变更。

## 关于 REST API 中的中断性变更

GitHub REST API 已版本化。 API 版本名称基于 API 版本的发布日期。 例如，API 版本`2026-03-10`已于Tue, 10 Mar 2026发布。

破坏性变更是可能会影响集成的变更。 重大更改将在新的 API 版本中发布。 在发布重大更改之前，我们会提前通知。 重大变更包括：

* 删除整个业务操作
* 删除或重命名参数
* 删除或重命名响应字段
* 添加新的必需参数
* 将以前的可选参数设置为必需参数
* 更改参数或响应字段的类型
* 删除枚举值
* 向现有参数添加新的验证规则
* 更改身份验证或授权要求

所有支持的 API 版本都将包含所有增量（不影响现有功能的）更改。 增量更改是不应破坏集成的更改。 附加更改包括：

* 添加操作
* 添加可选参数
* 添加可选请求头
* 添加响应字段
* 添加响应头
* 添加枚举值

当发布新版本的 REST API 时，先前的 API 版本将在新版本发布后至少再支持24个月。

有关 API 版本的详细信息，请参阅 [API 版本](/zh/enterprise-server@3.22/rest/about-the-rest-api/api-versions)。

## 升级到新的 API 版本

在升级到新 REST API 版本之前，应阅读本页上对应于新 API 版本的部分，以了解包含哪些中断性变更，并详细了解如何升级到该 API 版本。

更新集成以在 `X-GitHub-Api-Version` 标头中指定新的 API 版本时，还需要对集成进行任何更改才能使用新的 API 版本。

更新集成后，测试集成以验证它是否适用于新 API 版本。

<!-- markdownlint-disable liquid-quoted-conditional-arg search-replace GHD046 -->

## 版本 2026-03-10

* **从速率限制终结点中删除已弃用 `rate` 的属性** 。自 `rate` 2021 年以来，该属性已弃用，并且该属性中 `resources.core` 提供了重复的信息。 若要迁移，请更新集成以从`resources.core`读取速率限制信息，而不是`rate`。

  请参阅 <https://docs.github.com/rest/rate-limit> 更新的文档。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /rate_limit`

  </details>

* **在创建团队时从请求中删除已弃用 `permission` 的属性**

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `POST /orgs/{org}/teams`

  </details>

* **更新“获取仓库内容”API，以便在列出目录内容时，子模块显示为 `type` 子模块而不是 `type` 文件**

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /repos/{owner}/{repo}/contents/{path}`

  </details>

* **将路径参数类型从整数更改为字符串。此`pre_receive_hook_id`** 更改可确保`pre_receive_hook_id`路径参数始终设置为类型字符串。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}`
* `DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}`
* `DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}`
* `GET /admin/pre-receive-hooks/{pre_receive_hook_id}`
* `GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}`
* `GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}`
* `PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}`
* `PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}`
* `PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}`
* `POST /organizations/{organization_id}/pre-receive-hooks/{pre_receive_hook_id}`
* `POST /repositories/{repository_id}/pre-receive-hooks/{pre_receive_hook_id}`

  </details>

* **更改 SARIF 响应的内容类型** 当尝试通过将`Accept`标头设置为`application/sarif+json`来接收 SARIF 上传时，响应会被错误地设置为`Content-Type`。
  此更改将更正此错误，因此在这种情况下，响应 `Content-Type` 将变为 `application/sarif+json`此情况。

  有关详细信息，请参阅 REST API 文档中的“[获取存储库的代码扫描分析](https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)”。
* **从存储库设置终结点中删除已弃用`use_squash_pr_title_as_default`的属性，** 此属性已被替换。`squash_merge_commit_title`

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue`
* `DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `GET /events`
* `GET /installation/repositories`
* `GET /issues`
* `GET /networks/{owner}/{repo}/events`
* `GET /orgs/{org}/actions/permissions/repositories`
* `GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories`
* `GET /orgs/{org}/events`
* `GET /orgs/{org}/issues`
* `GET /orgs/{org}/migrations`
* `GET /orgs/{org}/migrations/{migration_id}`
* `GET /repos/{owner}/{repo}`
* `GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`
* `GET /repos/{owner}/{repo}/events`
* `GET /repos/{owner}/{repo}/issues`
* `GET /repos/{owner}/{repo}/issues/events`
* `GET /repos/{owner}/{repo}/issues/events/{event_id}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/parent`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`
* `GET /repos/{owner}/{repo}/pulls`
* `GET /repos/{owner}/{repo}/pulls/{pull_number}`
* `GET /search/issues`
* `GET /teams/{team_id}/repos/{owner}/{repo}`
* `GET /user/installations/{installation_id}/repositories`
* `GET /user/issues`
* `GET /user/migrations`
* `GET /user/migrations/{migration_id}`
* `GET /user/repos`
* `GET /user/starred`
* `GET /users/{username}/events`
* `GET /users/{username}/events/orgs/{org}`
* `GET /users/{username}/events/public`
* `GET /users/{username}/received_events`
* `GET /users/{username}/received_events/public`
* `GET /users/{username}/starred`
* `PATCH /repos/{owner}/{repo}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority`
* `PATCH /repos/{owner}/{repo}/pulls/{pull_number}`
* `POST /app/installations/{installation_id}/access_tokens`
* `POST /enterprises/{enterprise}/actions/runners/registration-token`
* `POST /enterprises/{enterprise}/actions/runners/remove-token`
* `POST /orgs/{org}/actions/runners/registration-token`
* `POST /orgs/{org}/actions/runners/remove-token`
* `POST /orgs/{org}/migrations`
* `POST /orgs/{org}/projectsV2/{project_number}/drafts`
* `POST /orgs/{org}/projectsV2/{project_number}/items`
* `POST /orgs/{org}/repos`
* `POST /repos/{owner}/{repo}/actions/runners/registration-token`
* `POST /repos/{owner}/{repo}/actions/runners/remove-token`
* `POST /repos/{owner}/{repo}/forks`
* `POST /repos/{owner}/{repo}/issues`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `POST /repos/{owner}/{repo}/pulls`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks`
* `POST /repos/{template_owner}/{template_repo}/generate`
* `POST /user/codespaces/{codespace_name}/publish`
* `POST /user/migrations`
* `POST /user/repos`
* `POST /user/{user_id}/projectsV2/{project_number}/drafts`
* `POST /users/{username}/projectsV2/{project_number}/items`

  </details>

* **`authorizations_url`从 API 根目录删除 （`GET /`）** 自 [2020 年以来](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/)，OAuth 授权 API 已弃用。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /`

  </details>

* **弃用对 `beta` 媒体类型**的支持，该媒体类型于 2014 年正式弃用 但是仍然存在其使用残留，会修改响应负载 因此，以下响应属性已弃用：

  * `emails` 响应为平面字符串数组而不是电子邮件对象
  * `pull_request` 具有默认值的 `null` response 属性
  * `user` 响应属性，替换为 `owner`
  * `master_branch` 响应属性，替换为 `default_branch`

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue`
* `DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `GET /events`
* `GET /gists`
* `GET /gists/public`
* `GET /gists/starred`
* `GET /installation/repositories`
* `GET /issues`
* `GET /networks/{owner}/{repo}/events`
* `GET /orgs/{org}/actions/permissions/repositories`
* `GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories`
* `GET /orgs/{org}/events`
* `GET /orgs/{org}/issues`
* `GET /orgs/{org}/migrations`
* `GET /orgs/{org}/migrations/{migration_id}`
* `GET /repos/{owner}/{repo}`
* `GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`
* `GET /repos/{owner}/{repo}/events`
* `GET /repos/{owner}/{repo}/issues`
* `GET /repos/{owner}/{repo}/issues/events`
* `GET /repos/{owner}/{repo}/issues/events/{event_id}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/parent`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`
* `GET /repos/{owner}/{repo}/pulls`
* `GET /repos/{owner}/{repo}/pulls/{pull_number}`
* `GET /search/issues`
* `GET /teams/{team_id}/repos/{owner}/{repo}`
* `GET /user/installations/{installation_id}/repositories`
* `GET /user/issues`
* `GET /user/migrations`
* `GET /user/migrations/{migration_id}`
* `GET /user/repos`
* `GET /user/starred`
* `GET /users/{username}/events`
* `GET /users/{username}/events/orgs/{org}`
* `GET /users/{username}/events/public`
* `GET /users/{username}/gists`
* `GET /users/{username}/received_events`
* `GET /users/{username}/received_events/public`
* `GET /users/{username}/starred`
* `PATCH /repos/{owner}/{repo}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority`
* `PATCH /repos/{owner}/{repo}/pulls/{pull_number}`
* `POST /app/installations/{installation_id}/access_tokens`
* `POST /enterprises/{enterprise}/actions/runners/registration-token`
* `POST /enterprises/{enterprise}/actions/runners/remove-token`
* `POST /gists/{gist_id}/forks`
* `POST /orgs/{org}/actions/runners/registration-token`
* `POST /orgs/{org}/actions/runners/remove-token`
* `POST /orgs/{org}/migrations`
* `POST /orgs/{org}/projectsV2/{project_number}/drafts`
* `POST /orgs/{org}/projectsV2/{project_number}/items`
* `POST /orgs/{org}/repos`
* `POST /repos/{owner}/{repo}/actions/runners/registration-token`
* `POST /repos/{owner}/{repo}/actions/runners/remove-token`
* `POST /repos/{owner}/{repo}/forks`
* `POST /repos/{owner}/{repo}/issues`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `POST /repos/{owner}/{repo}/pulls`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks`
* `POST /repos/{template_owner}/{template_repo}/generate`
* `POST /user/codespaces/{codespace_name}/publish`
* `POST /user/migrations`
* `POST /user/repos`
* `POST /user/{user_id}/projectsV2/{project_number}/drafts`
* `POST /users/{username}/projectsV2/{project_number}/items`

  </details>

* **更改自定义存储库角色终结点路径，以更描述资源** 自定义存储库角色由组织管理，但范围限定为存储库。
  此更新将路径从 `/organizations/{organization_id}/custom_roles` 更改为 `/orgs/{org}/custom-repository-roles` 以更准确描述资源

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /organizations/{organization_id}/custom_roles`

  </details>

* 此更改集将未指定的字段`history`和`forks`从base-gist对象中删除。这些属性是在将JSON架构转换为OpenAPI时无意中添加的。 属性显示在“gist 修订版”和“update gist”等资源中，但不应在基本 gist 对象中实现。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /gists`
* `GET /gists/public`
* `GET /gists/starred`
* `GET /gists/{gist_id}`
* `GET /gists/{gist_id}/forks`
* `GET /gists/{gist_id}/{sha}`
* `GET /users/{username}/gists`
* `PATCH /gists/{gist_id}`
* `POST /gists`
* `POST /gists/{gist_id}/forks`

  </details>

* **将删除安装的成功状态代码从 `204` 更改为 `202`** 正在将安装删除操作移动到后台

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `DELETE /app/installations/{installation_id}`

  </details>

* **从组织请求和响应中删除`secret_scanning_push_protection_custom_link_enabled`**

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /orgs/{org}`
* `PATCH /orgs/{org}`

  </details>

* **在代码扫描默认设置响应中，从 `javascript` 枚举中移除 `typescript` 和 `languages` 值，转而使用 `javascript-typescript`**。由于 CodeQL 会同时分析 JavaScript 和 TypeScript，因此使用独立的枚举值会造成混淆，且与实际分析机制不符。 此重大更改移除了单独的 "javascript" 和 "typescript" 值，改用组合的 "javascript-typescript" 值以准确表示统一分析

  有关详细信息，请参阅 REST API 文档中的[](https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-default-setup-configuration)“`codeql-action`”和相关 CHANGELOG。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /repos/{owner}/{repo}/code-scanning/default-setup`

  </details>

* **从存储库响应中删除已弃用 `has_downloads` 的属性**`has_downloads`已弃用 10 多年

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue`
* `DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `GET /events`
* `GET /installation/repositories`
* `GET /issues`
* `GET /networks/{owner}/{repo}/events`
* `GET /notifications`
* `GET /notifications/threads/{thread_id}`
* `GET /orgs/{org}/actions/permissions/repositories`
* `GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories`
* `GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories`
* `GET /orgs/{org}/actions/secrets/{secret_name}/repositories`
* `GET /orgs/{org}/actions/variables/{name}/repositories`
* `GET /orgs/{org}/codespaces`
* `GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories`
* `GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories`
* `GET /orgs/{org}/docker/conflicts`
* `GET /orgs/{org}/events`
* `GET /orgs/{org}/issues`
* `GET /orgs/{org}/members/{username}/codespaces`
* `GET /orgs/{org}/migrations`
* `GET /orgs/{org}/migrations/{migration_id}`
* `GET /orgs/{org}/migrations/{migration_id}/repositories`
* `GET /orgs/{org}/packages`
* `GET /orgs/{org}/packages/{package_type}/{package_name}`
* `GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories`
* `GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories`
* `GET /orgs/{org}/repos`
* `GET /orgs/{org}/settings/immutable-releases/repositories`
* `GET /orgs/{org}/teams/{team_slug}/repos`
* `GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`
* `GET /repos/{owner}/{repo}`
* `GET /repos/{owner}/{repo}/actions/runs`
* `GET /repos/{owner}/{repo}/actions/runs/{run_id}`
* `GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}`
* `GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs`
* `GET /repos/{owner}/{repo}/check-suites/{check_suite_id}`
* `GET /repos/{owner}/{repo}/codespaces`
* `GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`
* `GET /repos/{owner}/{repo}/commits/{ref}/check-suites`
* `GET /repos/{owner}/{repo}/commits/{ref}/status`
* `GET /repos/{owner}/{repo}/events`
* `GET /repos/{owner}/{repo}/forks`
* `GET /repos/{owner}/{repo}/invitations`
* `GET /repos/{owner}/{repo}/issues`
* `GET /repos/{owner}/{repo}/issues/events`
* `GET /repos/{owner}/{repo}/issues/events/{event_id}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/parent`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`
* `GET /repos/{owner}/{repo}/notifications`
* `GET /repos/{owner}/{repo}/pulls`
* `GET /repos/{owner}/{repo}/pulls/{pull_number}`
* `GET /repositories`
* `GET /search/code`
* `GET /search/commits`
* `GET /search/issues`
* `GET /teams/{team_id}/repos`
* `GET /teams/{team_id}/repos/{owner}/{repo}`
* `GET /user/codespaces`
* `GET /user/codespaces/secrets/{secret_name}/repositories`
* `GET /user/codespaces/{codespace_name}`
* `GET /user/docker/conflicts`
* `GET /user/installations/{installation_id}/repositories`
* `GET /user/issues`
* `GET /user/migrations`
* `GET /user/migrations/{migration_id}`
* `GET /user/migrations/{migration_id}/repositories`
* `GET /user/packages`
* `GET /user/packages/{package_type}/{package_name}`
* `GET /user/repos`
* `GET /user/repository_invitations`
* `GET /user/starred`
* `GET /user/subscriptions`
* `GET /users/{username}/docker/conflicts`
* `GET /users/{username}/events`
* `GET /users/{username}/events/orgs/{org}`
* `GET /users/{username}/events/public`
* `GET /users/{username}/packages`
* `GET /users/{username}/packages/{package_type}/{package_name}`
* `GET /users/{username}/received_events`
* `GET /users/{username}/received_events/public`
* `GET /users/{username}/repos`
* `GET /users/{username}/starred`
* `GET /users/{username}/subscriptions`
* `PATCH /repos/{owner}/{repo}`
* `PATCH /repos/{owner}/{repo}/check-suites/preferences`
* `PATCH /repos/{owner}/{repo}/invitations/{invitation_id}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority`
* `PATCH /repos/{owner}/{repo}/pulls/{pull_number}`
* `PATCH /user/codespaces/{codespace_name}`
* `POST /app/installations/{installation_id}/access_tokens`
* `POST /enterprises/{enterprise}/actions/runners/registration-token`
* `POST /enterprises/{enterprise}/actions/runners/remove-token`
* `POST /orgs/{org}/actions/runners/registration-token`
* `POST /orgs/{org}/actions/runners/remove-token`
* `POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop`
* `POST /orgs/{org}/migrations`
* `POST /orgs/{org}/projectsV2/{project_number}/drafts`
* `POST /orgs/{org}/projectsV2/{project_number}/items`
* `POST /orgs/{org}/repos`
* `POST /repos/{owner}/{repo}/actions/runners/registration-token`
* `POST /repos/{owner}/{repo}/actions/runners/remove-token`
* `POST /repos/{owner}/{repo}/check-suites`
* `POST /repos/{owner}/{repo}/codespaces`
* `POST /repos/{owner}/{repo}/forks`
* `POST /repos/{owner}/{repo}/issues`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `POST /repos/{owner}/{repo}/pulls`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks`
* `POST /repos/{owner}/{repo}/transfer`
* `POST /repos/{template_owner}/{template_repo}/generate`
* `POST /user/codespaces`
* `POST /user/codespaces/{codespace_name}/publish`
* `POST /user/codespaces/{codespace_name}/start`
* `POST /user/codespaces/{codespace_name}/stop`
* `POST /user/migrations`
* `POST /user/repos`
* `POST /user/{user_id}/projectsV2/{project_number}/drafts`
* `POST /users/{username}/projectsV2/{project_number}/items`
* `PUT /repos/{owner}/{repo}/collaborators/{username}`

  </details>

* 将创建存储库响应从`422``451`更改为\*\*\*\*，当创建者或所有者受到贸易控制法规的约束时，存储库创建请求现在返回\*\*\*\*而不是`422 Unprocessable Entity`。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `POST /orgs/{org}/repos`
* `POST /user/repos`

  </details>

* `403`

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `DELETE /orgs/{org}`

  </details>

* **当受贸易管制阻止时，将删除组织成员响应从 `403` 改为 `451`。** 请求删除受贸易管制组织成员现在返回 `451 Unavailable For Legal Reasons` 而不是 `403 Forbidden`。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `DELETE /orgs/{org}/members/{username}`

  </details>

* **在受到贸易管制阻止时，将更新组织成员身份的响应从`403`更改为`451`**。对受贸易管制的组织的成员资格更新请求现在返回`451 Unavailable For Legal Reasons`而不是`403 Forbidden`。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `PUT /orgs/{org}/memberships/{username}`

  </details>

* **当因贸易管制而无法接受仓库邀请时，将接受邀请的响应从`403`更改为`451`** 现在，当仓库邀请的接受被贸易管制阻止时，将返回`451 Unavailable For Legal Reasons`而不是`403 Forbidden`。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `PATCH /user/repository_invitations/{invitation_id}`

  </details>

* **从 API 根响应中删除已弃用 `hub_url` 的属性**

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /`

  </details>

* **弃用 `cvss` 属性，用于 `cvss_severities` 咨询 API** 。该 `cvss_severities` 属性将取代现有 `cvss` 属性，并包含 `cvss_v3` 和 `cvss_v4` 属性（如果它们存在于公告中）。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /advisories`
* `GET /advisories/{ghsa_id}`
* `GET /enterprises/{enterprise}/dependabot/alerts`
* `GET /orgs/{org}/dependabot/alerts`
* `GET /orgs/{org}/security-advisories`
* `GET /repos/{owner}/{repo}/dependabot/alerts`
* `GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}`
* `GET /repos/{owner}/{repo}/security-advisories`
* `GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}`
* `PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}`
* `PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}`
* `POST /repos/{owner}/{repo}/security-advisories`
* `POST /repos/{owner}/{repo}/security-advisories/reports`

  </details>

* **从迁移资源响应中删除存储库详细信息字段**

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /orgs/{org}/migrations`
* `GET /orgs/{org}/migrations/{migration_id}`
* `GET /orgs/{org}/migrations/{migration_id}/repositories`
* `GET /user/migrations`
* `GET /user/migrations/{migration_id}`
* `GET /user/migrations/{migration_id}/repositories`
* `POST /orgs/{org}/migrations`
* `POST /user/migrations`

  </details>

* **删除已弃用的 `/hub` 终结点**
* **从拉取请求响应中删除 `merge_commit_sha` 字段** 。从返回拉取请求对象的所有终结点的拉取请求载荷中删除 `merge_commit_sha` 属性。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `GET /events`
* `GET /networks/{owner}/{repo}/events`
* `GET /orgs/{org}/events`
* `GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`
* `GET /repos/{owner}/{repo}/events`
* `GET /repos/{owner}/{repo}/pulls`
* `GET /repos/{owner}/{repo}/pulls/{pull_number}`
* `GET /users/{username}/events`
* `GET /users/{username}/events/orgs/{org}`
* `GET /users/{username}/events/public`
* `GET /users/{username}/received_events`
* `GET /users/{username}/received_events/public`
* `PATCH /repos/{owner}/{repo}/pulls/{pull_number}`
* `POST /orgs/{org}/projectsV2/{project_number}/drafts`
* `POST /orgs/{org}/projectsV2/{project_number}/items`
* `POST /repos/{owner}/{repo}/pulls`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `POST /user/{user_id}/projectsV2/{project_number}/drafts`
* `POST /users/{username}/projectsV2/{project_number}/items`

  </details>

* **将工作流调度响应从`204`更改为包含工作流运行详细信息的`200`**，并删除参数`return_run_details`。 端点现在总是会在响应正文中返回工作流运行的详细信息`200`。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches`

  </details>

* **从问题和拉取请求终结点删除已弃用的单数“受托者”字段**。该单数 `assignee` 字段多年来被标记为“正在关闭”，并重复了 `assignees` 数组中可用的信息。 若要迁移，请将集成更新为：

  * 创建或更新问题时，请使用 `assignees` 数组参数而不是单一 `assignee` 参数。
  * 在问题和拉取请求响应中，从 `assignees` 数组读取指派人信息，而不是单数 `assignee` 属性。

  请参阅 <https://docs.github.com/rest/issues/issues> 更新的文档。

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}`
* `DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue`
* `DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `GET /events`
* `GET /issues`
* `GET /networks/{owner}/{repo}/events`
* `GET /orgs/{org}/events`
* `GET /orgs/{org}/issues`
* `GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`
* `GET /repos/{owner}/{repo}/events`
* `GET /repos/{owner}/{repo}/issues`
* `GET /repos/{owner}/{repo}/issues/events`
* `GET /repos/{owner}/{repo}/issues/events/{event_id}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/parent`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`
* `GET /repos/{owner}/{repo}/pulls`
* `GET /repos/{owner}/{repo}/pulls/{pull_number}`
* `GET /search/issues`
* `GET /user/issues`
* `GET /users/{username}/events`
* `GET /users/{username}/events/orgs/{org}`
* `GET /users/{username}/events/public`
* `GET /users/{username}/received_events`
* `GET /users/{username}/received_events/public`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}`
* `PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority`
* `PATCH /repos/{owner}/{repo}/pulls/{pull_number}`
* `POST /orgs/{org}/projectsV2/{project_number}/drafts`
* `POST /orgs/{org}/projectsV2/{project_number}/items`
* `POST /repos/{owner}/{repo}/issues`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`
* `POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`
* `POST /repos/{owner}/{repo}/pulls`
* `POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`
* `POST /user/{user_id}/projectsV2/{project_number}/drafts`
* `POST /users/{username}/projectsV2/{project_number}/items`

  </details>

* **将 `selected_repository_ids` 参数更改为仅接受整数，适用于 Dependabot 组织机密**

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `PUT /orgs/{org}/dependabot/secrets/{secret_name}`

  </details>

* **从证明列表响应中删除 `bundle` 属性**`bundle` 字段从仓库、组织和用户的证明列表及批量列表响应中删除。 使用 `bundle_url` 来检索证明捆绑

  <details>
  <summary>

<strong>受影响的终结点</strong></summary>

* `GET /orgs/{org}/attestations/{subject_digest}`
* `GET /repos/{owner}/{repo}/attestations/{subject_digest}`
* `GET /users/{username}/attestations/{subject_digest}`
* `POST /orgs/{org}/attestations/bulk-list`
* `POST /users/{username}/attestations/bulk-list`

  </details>