Поделиться через


Политики построителя API данных

Набор политик управляет построителем данных, связанным с критическими изменениями, уведомлениями, выпусками и версиями.

Управление версиями и выпусками

A release in the context of Data API builder refers to every published version of the software, identified by the Major.Minor.Patch format. These releases fall into three categories: stable, breaking change, and preview.

Ответственность за обновление контейнера

Контейнер построителя данных не обновляется автоматически. Клиенты отвечают за мониторинг новых выпусков, оценку их важности (включая обновления системы безопасности) и соответствующее обновление развернутых контейнеров.

Keeping the container up to date is the customer’s responsibility.

Stable releases

A stable version of Data API builder is backwards compatible. Обратная совместимость подразумевает, что любой код, который использует одну версию построителя API данных, может применять более новую стабильную версию, не требуя изменений кода для поддержания правильности или существующих функциональных возможностей.

Критические выпуски изменений

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

Критические версии изменений объявляются с помощью статьи о критическом списке изменений и в описании изменений в выпуске GitHub. Публикация версии кандидата предварительной версии и выпуска предшествует критическим изменениям, если изменения не исправляют критически важные проблемы безопасности, конфиденциальности или юридических проблем. Хотя предыдущие версии построителя API данных могут оставаться доступными на странице выпусков GitHub, рекомендуется обновить до последнего выпуска, что может включать исправления ошибок.

Preview releases

Предварительные выпуски построителя данных определяются схемой X.Y.Z-rc управления версиями. Суффикс -rc указывает, что сборка является "кандидатом на выпуск". Предварительные версии используются для сбора отзывов о новых функциях и других изменениях.

Если мы не планируем намеренно вносить значительные изменения из последней стабильной версии, мы публикуем следующую предварительную версию со всеми версиями, начиная с последней стабильной версии и новых предварительных версий. Следующее обновление построителя данных может нарушить некоторые новые функции предварительной версии, которые мы добавили между предварительными версиями. Это критическое поведение означает, что вам может потребоваться изменить код, чтобы сделать работу вещей снова.

Предварительные версии не предназначены для долгосрочного использования или использования в рабочей среде. Когда новая стабильная или предварительная версия становится доступной, более старые версии предварительной версии больше не будут доступны. Лучше всего использовать предварительные версии, только если вы активно работаете над новыми функциями и готовы перейти на версию, не предварительную, вскоре после выпуска. Если некоторые функции из предварительной версии включены в новую стабильную версию, остальные функции предварительной версии добавляются в новую предварительную версию, чтобы попробовать.

Таблица изменений версий

Important

Мы можем ввести критическое изменение в дополнительный или исправленный выпуск, когда изменения рассматривают критические ошибки продукта, юридические, безопасность или конфиденциальность.

Release type Previous Version New Version Notes
Breaking Change 1.Y.Z 2.Y.Z Новые функции и исправления ошибок, а также любые критические изменения.
Stable 1.1.Z 1.2.Z Новые функции и исправления ошибок без критических изменений, если изменения не касаются критических ошибок продукта, юридических, безопасности или конфиденциальности.
Stable 1.1.1 1.1.2 Исправление ошибок без новых функций или критических изменений, если изменения не устраняют критические ошибки продукта, юридические, безопасность или конфиденциальность.
Preview X.Y.1-rc X.Y.2-rc Новые функции предварительной версии и исправления ошибок. (Критические изменения включаются, если основная версия напучена.)

Breaking Changes

Чтобы определить приоритеты безопасности, улучшить функции и поддерживать качество кода, новые версии нашего программного обеспечения могут включать критические изменения. Хотя мы стремимся свести к минимуму эти изменения с помощью тщательного архитектурного выбора, они по-прежнему могут возникнуть. В таких случаях мы делаем это приоритетом для их объявления и предоставления возможных решений.

Important

Мы можем вносить изменения без предварительного уведомления, если это изменение считается некритичным, или если это критические изменения, внесенные для решения критических ошибок продукта или юридических, безопасности или конфиденциальности.

Что такое критическое изменение?

Критическое изменение — это изменение, требующее обновления приложения, чтобы предотвратить нарушения. В построителе данных критические изменения могут включать изменения в контракты REST API, создание схемы GraphQL и другие элементы, влияющие на совместимость и функциональные возможности.

Примеры критических изменений

The following examples are a nonexhaustive list of breaking changes to Data API builder:

  • Изменения контракта REST API
  • Изменения в создании схемы GraphQL
  • Изменения, влияющие на обратную совместимость
  • Удаление или переименование API или параметров
  • Изменения в кодах ошибок
  • Корректировки функциональных возможностей определения разрешений
  • Удаление разрешенных параметров, полей запроса или полей ответа
  • Добавление обязательных параметров или полей запроса без значений по умолчанию
  • Изменения в предполагаемых функциональных возможностях конечной точки API

Определение неразрывного изменения

A non-breaking change refers to a change that can be integrated into your application without causing disruption. Неразрывные изменения обычно передаются после реализации. Приложение должно быть разработано для обработки этих изменений без предварительного уведомления.

Примеры некрикционных изменений

The following examples are a nonexhaustive list of nonbreaking changes to Data API builder:

  • Введение новых конечных точек
  • Добавление методов к существующим конечным точкам
  • Включение новых полей в ответы и запросы
  • Корректировки порядка полей в ответах
  • Введение необязательных заголовков запросов
  • Изменения длины данных и размера ответа
  • Изменения сообщений об ошибках и кодов
  • Исправление кодов ответов HTTP
  • Дополнительные метаданные в созданных документах OpenAPI

Как мы сообщаем критические изменения?

Мы делаем это приоритетом, чтобы быстро сообщить вам о критических изменениях. Уведомления о критических изменениях можно найти в заметках о выпуске выпусков построителя API данных на сайте GitHub.

Текущий список критических изменений

Критические изменения и выход на пенсию компонентов объявлены в этой статье.

  • По состоянию на данный момент, критические изменения отсутствуют