intermediate

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

Сообщайте о совместимости через major, minor и patch, привязанные к изменениям API и поведения.

Semantic Versioning (SemVer) сообщает о совместимости через `MAJOR.MINOR.PATCH`:

| Bump | Смысл | |------|-------| | MAJOR | Breaking change public API или поведения, на которое опираются потребители | | MINOR | Обратно совместимая новая возможность | | PATCH | Обратно совместимое исправление |

Релизы `0.y.z` по конвенции нестабильны — breaking возможен в minor. Диапазоны peer dependencies в библиотеках должны соответствовать обещанию semver.

На интервью: public API, классификация изменений поведения при компилирующихся типах, политика deprecation и semver internal packages для других команд.

Типовые ошибки: breaking в patch; semver без объявленной public surface; ломаем API без major «ради фикса».

Компромисс — ясные ожидания потребителей против трения breaking-миграций.

Чеклист:

  • Граница public API в документации.
  • Поведение vs только типы.
  • Миграции в changelog.
  • Peer ranges согласованы с историей совместимости.