Глава 8: Управление Версиями

8.1 Обзор

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

8.2 Семантическое Версионирование

MAJOR.MINOR.PATCH
Номер ВерсииТип ИзмененияСовместимость
MAJORНесовместимые изменения протоколаКритические изменения; потребители должны обновиться
MINORОбратно совместимые добавленияСтарые потребители продолжают работать
PATCHОбратно совместимые исправленияИсправления документации, Schema

8.3 Объявление Версии

{ "protocol": { "version": "1.0.0", "changelog_url": "https://skill-sharing.org/changelog" } }

8.4 Правила Совместимости Версий

Совместимо: MAJOR одинаковый. Несовместимо: MAJOR различается.

Версия ПотребителяВерсия ДескриптораСовместимость
1.0.01.0.0✓ Совместимо
1.0.01.2.0✓ Совместимо
1.0.02.0.0✗ Несовместимо

Ответ о Несовместимости

{ "error": { "code": "VERSION_INCOMPATIBLE", "message": "Protocol version 2.0.0 is not compatible with consumer version 1.x", "details": { "descriptor_version": "2.0.0", "consumer_supported_range": "1.x.x", "upgrade_url": "https://skill-sharing.org/upgrade-guide" } } }

8.5 Версионированные Директории Schema

schema/
├── draft/
│   ├── schema.json
│   ├── schema.ts
│   └── schema.mdx
└── 2025-10-25/
    ├── schema.json
    ├── schema.ts
    └── schema.mdx

8.7 Гарантии Обратной Совместимости

  1. Существующие обязательные поля не удаляются
  2. Новые поля по умолчанию необязательны
  3. Семантика существующих полей не изменяется
  4. Области значений перечислимых типов не сужаются
  5. Обязательные параметры существующих интерфейсов не увеличиваются