[update.path] Обновление между мажорными версиями гарантируется только с последней минорной версии. Обновление минорной версии может делаться с пропусками.
Пример. Существуют v12.34.0, v12.34.1, v12.34.2, v12.35.0, v12.35.1.
Негарантированные обновления обычно технически возможны, но не тестируются.
[update.migration] Если при обновлении меняется формат настроек, гарантируется их миграция в новый формат с сохранением смысла, если соответствующая логика сохраняется.
Пример. Вплоть до v20.02 ключ MCR задавался как base64 в API и как текст в UI. Начиная с v20.06, ключ задается как hex-строка. При обновлении байты существующих ключей переводятся в новый формат.
Пример: см. раздел «Пороги автодетектирования».
[api.format] В пределах мажорной версии гарантируется обратно-совместимый формат запросов.
[api.changelog] Несовместимые изменения описываются в changelog.
Пример: все запросы для v12.34.0 работают с v12.34.1.
Пример: некоторые запросы для v12.34.2 могут не работать в v12.35.0, описание изменений приводится в разделе «Changelog v12.35.0».
[detect.migration] Если имена порогов меняются в новой версии, гарантируется, что значения старых порогов будут перенесены в новые пороги при обновлении, кроме случаев, когда старая логика удаляется.
Пример.
В версии v12.34 был порог Threshold
, при пересечении которого контрмера
включалась или выключалась, ему было настроено значение 100. В версии v12.35
контрмера включается по порогу Threshold.On
, выключается по Threshold.Off
.
При обновлении порог Threshold
будет удален, вместо него будут созданы
Threshold.Off
и Threshold.On
со одинаковыми значениями 100.