Кратко

  • 18 августа 2026 года IESG объявила об одобрении draft-ietf-netmod-yang-semver-28 как Proposed Standard. Документ вводит семантическую версию модуля YANG и её необязательное объявление через YANG Library.
  • Идентификатор передаёт классификацию изменений автором артефакта. Он не доказывает целостность набора модулей сервера, включение функции, отсутствие отклонения, нужное поведение или право менять продуктивную систему. Для допуска нужны схема и работающий код именно цели.

Рекомендация не выдаёт разрешение

Вступление — гипотетический случай. recommended-min-version сообщает самую старую предпочитаемую совместимую версию. Сравниваются только три числа, без модификатора совместимости и данных предварительного выпуска или сборки.

Поэтому более высокий major и вариант _non_compatible могут пройти порог. Если подходящего выбора нет, компилятору предписано предупредить и продолжить обычное разрешение YANG-import. Это подсказка для слабой связанности, а не жёсткий замок.

Фраза «минимум выполнен» ничего не говорит о фактической цели. Превращение её в допуск добавляет полю власть, которой в спецификации нет.

Одобрен машинно читаемый язык происхождения

Версия 28 “YANG Semantic Versioning” остаётся Internet-Draft до завершения работы RFC Editor. Это результат NETMOD; сообщение IESG отмечает общий консенсус, отдельные возражения и развивающиеся инструменты.

ysv:version имеет вид X.Y.Z_COMPAT и может включать сведения о предварительном выпуске и сборке. Major обычно обозначает обратную несовместимость, minor — совместимое расширение, patch — совместимое редакционное изменение.

Имя модуля и версия вместе идентифицируют конкретную ревизию и содержание. YANG Library может показать версию, которую сервер заявляет как реализованную. Это делает зависимость и происхождение прозрачнее, но не измеряет поведение устройства.

Совместимость ограничена парой артефактов

Номер назначает автор или сопровождающий. Правила допускают больший, чем необходимо, шаг и пропуск номеров. Сам проект подчёркивает: номер не гарантирует, что заявленное изменение произошло или затронуло данного потребителя.

Реальные различия устанавливает сравнение схем, а влияние — проверка экземпляров и реализации. Отдельный модуль может быть совместим, но augmentation другого модуля добавит обязательный узел, feature окажется выключен, deviation удалит или ограничит путь.

Модификатор _non_compatible, однажды появившись в той же ветви major/minor, не может исчезнуть позднее. Это память о разрыве. Хранение только трёх чисел стирает её, хотя числовой минимум сознательно смотрит лишь на числа.

Цель объявляет набор, а не одиночный модуль

YANG Library перечисляет модули и ревизии, import-only модули, подмодули, функции, отклонения и расположения. Семантическая версия дополняет инвентарь, но не заменяет его. Формирование согласованного набора проект оставляет за пределами расширения, указывая на соседнюю работу вроде YANG packages.

RFC 7950 определяет сборку модели, RFC 8525 — обнаружение состояния цели, RFC 9907 — метки ревизий. Два сервера с одинаковой версией основного модуля всё равно могут иметь разные эффективные схемы.

Допуск должен разрешить весь набор, собрать схему, сравнить её до и после, проверить данные и испытать конкретный класс ПО и конфигурации.

Причина отказа должна сохраняться

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

Невыполненный минимум — выбор зависимости; несовместимый суффикс — политика происхождения; отсутствующая функция или конфликтующее отклонение — схема цели; регрессия — реализация; нет согласования — управление. Общая метка «ошибка версии» лишь упрощает слепое исключение.

Номер полезен в начале цепочки. Последний барьер принадлежит собранной цели, работающему коду и ответственному владельцу.

Источники