# Критические изменения

Узнайте о критических изменениях, которые были введены в каждой версии REST API.

## Сведения о критических изменениях в REST API

GitHub REST API имеет версии. Имя версии API основано на дате выпуска версии API. Например, версия `2026-03-10` API была выпущена на Tue, 10 Mar 2026.

Критические изменения — это изменения, которые могут потенциально нарушить интеграцию. Срочные изменения будут выпущены в новой версии API. Мы предупредим заранее перед публикацией нерешительных изменений. Критические изменения включают:

* Удаление всей операции
* Удаление или переименование параметра
* Удаление или переименование поля ответа
* Добавление нового обязательного параметра
* Создание ранее необязательного параметра
* Изменение типа поля параметра или ответа
* Удаление значений перечисления
* Добавление нового правила проверки в существующий параметр
* Изменение требований к проверке подлинности или авторизации

Любые некритивные изменения будут доступны во всех поддерживаемых версиях API. Аддитивные изменения — это изменения, которые не должны прерывать интеграцию. К аддитивным изменениям относятся:

* Добавление операции
* Добавление необязательного параметра
* Добавление необязательного заголовка запроса
* Добавление поля ответа
* Добавление заголовка ответа
* Добавление значений перечисления

При выпуске новой версии REST API предыдущая версия API будет поддерживаться не менее 24 месяцев после выпуска новой версии API.

Дополнительные сведения о версиях API см. в разделе [Версии API](/ru/rest/overview/api-versions).

## Обновление до новой версии API

Перед обновлением до новой версии REST API необходимо прочитать раздел на этой странице, соответствующий новой версии API, чтобы понять, какие критические изменения включены и узнать больше о том, как обновить эту версию API.

Когда вы обновляете интеграцию, чтобы указать новую версию API в заголовке `X-GitHub-Api-Version`, вам также нужно внести необходимые изменения для работы с новой версией 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>

* **Изменение содержания — тип ответа SARIF** При попытке получить SARIF загрузка, установив `Accept` заголовок ответа `application/sarif+json``Content-Type` , ошибочно будет настроен на `application/json+sarif`.
  Это изменение исправляет это, поэтому ответ `Content-Type` в данном случае становится `application/sarif+json`.

  Для получения дополнительной информации см. «[Получить анализ сканирования кода для репозитория](https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)» в документации REST API.
* **Удалить устаревшее `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 /`)** API авторизации OAuth устарел [с 2020](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/) года.

  <details>
  <summary>

<strong>Затронутые конечные точки</strong></summary>

* `GET /`

  </details>

* **Устаревая поддержка типа медиа Этот `beta`** тип медиа был официально устарел в 2014 году. Тем не менее, остались следы его использования, которые модифицируют полезные нагрузки отклика. В результате следующие свойства отклика устаревают:

  * `emails` ответ — это плоский массив строк вместо объектов электронной почты
  * `pull_request` свойство отклика с `null` значениями по умолчанию
  * `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>

* **Этот набор изменений удаляет недооценённые поля `history` и `forks` из объекта base-gist.** Эти свойства были непреднамеренно добавлены при конвертации схем JSON в OpenAPI. Свойства появляются в ресурсах, таких как «gist revisions» и «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` enum при сканировании кода по `javascript-typescript`умолчанию в** пользу JavaScript и TypeScript анализируются вместе CodeQL, поэтому наличие отдельных значений enum было вводящим в заблуждение и противоречило реальному анализу. Это нерешительное изменение удаляет отдельные значения «javascript» и «typescript» в пользу объединённого значения «javascript-typescript», которое точно отражает унифицированный анализ.

  Для получения дополнительной информации см. «Получить конфигурацию [настройки по умолчанию с сканированием кода](https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-default-setup-configuration)» в документации REST API и в соответствующем [`codeql-action` CHANGELOG](https://github.com/github/codeql-action/blob/main/CHANGELOG.md#2218---19-sep-2023).

  <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` когда заблокирован торговыми контролями** , запросы на создание репозитория, когда создатель или владелец подчиняется правилам торгового контроля, теперь возвращаются `451 Unavailable For Legal Reasons` вместо `422 Unprocessable Entity`.

  <details>
  <summary>

<strong>Затронутые конечные точки</strong></summary>

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

  </details>

* **Изменение Удаление ответа организации из `403` в `451` когда блокируется торговыми контролями** Запросы на удаление организации, заблокированные торговыми контролями, теперь возвращаются `451 Unavailable For Legal Reasons` вместо `403 Forbidden`.

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

* **Удаление устаревшего `hub_url` свойства из корневого ответа API**

  <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` поле из ответов pull** request Это `merge_commit_sha` свойство удаляется из полезных загрузок pull request на всех конечных точках, возвращающих объекты pull request.

  <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» из конечных точек Issue и Pull** Request Единственное `assignee` поле уже много лет обозначено как «закрывающееся» и дублирует информацию, доступную в массиве `assignees` . Для миграции обновите интеграцию до:

  * При создании или обновлении Issues используйте `assignees` параметр массива вместо единственного `assignee` параметра.
  * Читайте информацию о присвоём из `assignees` массива вместо единственного `assignee` свойства в ответах Issue и Pull Request.

  Смотрите <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 org**

  <details>
  <summary>

<strong>Затронутые конечные точки</strong></summary>

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

  </details>

* **Удалить свойство `bundle` из ответов списка аттестации** Поле `bundle` удаляется из ответов репозиторий, org и user attestation list и bulk-list. Используйте `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>

## Версия 2022-11-28

Версия <c0 /> — первая версия GitHub Free, Pro & API Team REST после внедрения версий по датам. Эта версия не включает критические изменения.