Представляем семантическую версию 2.0.0

Что такое семантическое управление версиями?

  • Семантический номер версии, это слово указывает, что это сначала номер версии, а затем семантический номер версии.
  • Если говорить о номере версии, то мы должны видеть его каждый день.Например, каждое обновление WeChat имеет номер версии.На картинке ниже скриншот с официального сайта WeChat .
    вставьте сюда описание изображения
  • Номер версии используется для идентификации каждого выпуска. Это облегчает итеративную оптимизацию для разработчиков программного обеспечения. Семантический номер версии, упомянутый в этой статье, предназначен для добавления семантической информации на основе номера версии.
  • Другими словами, семантический номер версии позволяет номеру версии выражать семантическую информацию.Когда вы видите номер версии этого выпуска, вы можете знать, что делает эта версия.

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

  • Спецификация Semantic Versioning была создана создателем Gravatars и соучредителем GitHub Томом Престоном-Вернером.
  • Когда мы выпускаем новый пакет, правила семантического номера версии:
    • Формат версии: основной номер версии, вспомогательный номер версии, номер редакции и правила увеличения номера версии следующие:
      • Основной номер версии : когда вы вносите несовместимое изменение API,
      • Второстепенный номер версии : Когда вы делаете обратно совместимое функциональное дополнение,
      • Номер редакции : когда вы сделали исправление ошибки обратной совместимости.
      • Номер предыдущей версии и информация о компиляции версии могут быть добавлены в конце «основной номер версии. дополнительный номер версии. номер редакции» в качестве расширения.
  • Вы также можете перейти сюда , чтобы проверить возможность установить этот набор спецификаций.. Таким образом, когда система становится все больше и больше и добавляется все больше и больше пакетов, она может избежать попадания в долину смерти «ад зависимости».
  • Поскольку официальный сайт уже представил это очень ясно, я здесь только для того, чтобы бросать кирпичи и искрить нефрит, и вы можете пойти сюда , чтобы получить информацию из первых рук.

Что это делает?

  • Для тех, кто оформляет договор . Можно определить, какая часть семантического номера версии должна быть изменена в соответствии с изменениями, внесенными перед отправкой каждого пакета. Например rapidocr_onnxruntime, пакет, текущая версия v1.2.3:
    • Когда я делаю исправление обратной совместимости, следует увеличивать только последнюю цифру, а номер версии становитсяv1.2.4
    • Когда я добавляю обратно совместимый функциональный модуль в этот пакет, необходимо добавить среднюю позицию, очистить последний бит и номер версии становитсяv1.3.0
    • Когда я обновляю API-интерфейс пакета, он не имеет обратной совместимости, первая цифра должна быть увеличена, остальные позиции очищены, и номер версии становитсяv2.0.0
  • Для тех, кто использует пакет . Когда мы используем пакет, мы можем сначала проверить его номер версии.Если мы следуем семантическому номеру версии, мы можем ограничить диапазон версий пакета, чтобы избежать проблем несовместимости.
    • Например: distlibраньше я видел библиотеку зависимостей пакетов и написал ее dislib<1,>=0.3.6. Это означает, что это зависит только от distlibверсии этой библиотеки ниже версии 1.0 и выше или равной версии 0.3.6. Буквально, это делается для того, чтобы избежать несовместимости, которая может возникнуть в версиях выше 1.0.

напиши в конце

  • В настоящее время номера версий выпущенных мной пакетов соответствуют спецификации семантической версии. Для получения дополнительной информации см. все пакеты pypi в RapidOCR .
  • С этой спецификацией номер холодной версии перестает быть бессмысленным, а становится интересным.

рекомендация

отblog.csdn.net/shiwanghualuo/article/details/129713595