INTEGRITY Документация

Даты совместимости

Cloudflare регулярно обновляет среду выполнения Workers. Эти обновления применяются ко всем Workers по всему миру и никогда не должны приводить к остановке уже развёрнутого Worker. Тем не менее иногда некоторые изменения могут оказаться несовместимыми с более ранними версиями. В частности, в API среды выполнения могут встречаться ошибки, от которых непреднамеренно зависят существующие Workers. Cloudflare реализует исправления ошибок, которые новые Workers могут подключить по желанию, тогда как существующие Workers продолжают видеть прежнее поведение с ошибкой, чтобы не нарушить работу уже развёрнутых Workers.

С помощью даты совместимости и флагов вы, как разработчик, включаете эти изменения среды выполнения. Флаги совместимости часто имеют дату, начиная с которой они включаются по умолчанию, и поэтому, указав compatibility_date для вашего Worker, вы можете быстро включить все эти флаги совместимости вплоть до этой даты включительно.

Настройка compatibility date

Запуская проект, всегда указывайте compatibility_date на текущую дату. Периодически обновляйте compatibility_date поле. При обновлении обращайтесь к флаги совместимости странице, чтобы узнать, что изменилось, и обязательно проверьте свой Worker на предмет влияния этих изменений, при необходимости обновив код. Новая дата совместимости вступит в силу при следующем запуске npx wrangler deploy команда.

Нет необходимости обновлять ваш compatibility_date если не хотите. Среда выполнения Workers будет поддерживать старые compatibility date бессрочно. Если по какой-либо причине Cloudflare сочтёт необходимым внести изменение, которое нарушит работу действующих Worker, Cloudflare самостоятельно свяжется с затронутыми разработчиками. При этом Cloudflare стремится по возможности избегать таких ситуаций.

Однако, даже если вам не нужно обновлять compatibility_date поле, это хорошая практика по двум причинам:

  1. Иногда новые функции становятся доступны только Workers с актуальной compatibility_date. Чтобы получить доступ к новейшим функциям, обновляйтесь регулярно.
  2. Как правило, за исключением флаги совместимости странице документация Workers может описывать только текущую compatibility_date, опуская сведения об историческом поведении. Если ваш Worker использует старую compatibility_date, вам нужно будет постоянно обращаться к странице флагов совместимости, чтобы проверять, не изменились ли используемые вами API.

Через Wrangler

Дату совместимости можно задать в конфигурационный файл Wrangler.

{
	// Opt into backwards-incompatible changes through April 5, 2022.
	"compatibility_date": "2022-04-05"
}
compatibility_date = "2022-04-05"

Через Cloudflare Dashboard

При создании Worker через Cloudflare Dashboard дата совместимости автоматически устанавливается на текущую дату.

Дату совместимости можно обновить в настройках Workers на Панель управления Cloudflare.

Через Cloudflare API

Дату совместимости можно задать при загрузке Worker с помощью Workers Script API или Workers Versions API в теле запроса metadata поле.

Если дата совместимости не указана при загрузке через API, по умолчанию используется самая ранняя дата совместимости, до вступления в силу каких-либо флагов (2021-11-02). При создании новых Workers настоятельно рекомендуется указывать текущую дату в качестве даты совместимости при загрузке через API.