
О версионировании в Manticore
С выпуском Manticore 7.4.6 мы меняем версионирование в Manticore Search и сопутствующих компонентах. Этот шаг поможет сделать процесс разработки и использования Manticore более прозрачным, предсказуемым и удобным.Как было раньше: почти semver, но не совсем. Ранее наш подход к нумерации версий имел несколько особенностей, которые могли вызывать путаницу:
Номера версий увеличивались на основе субъективной оценки значимости изменений, а не по чёткому шаблону.
Мы использовали нечётные номера для обозначения версий в разработке (например, 1.2.3) и четные – для релизных версий (например, 1.2.4).
Все сборки в процессе разработки имели один и тот же номер версии между релизами, а различались только по хэшу коммита и временной метке.
Например, версии для разработки выглядели так:
Этот подход создавал сложности:
Трудно было отслеживать ход разработки.
Было неочевидно, какие изменения вносились между версиями.
Автоматизированное управление зависимостями становилось сложнее.
Возникали проблемы с чётким обозначением совместимости версий.
Новый подход: честное семантическое версионирование. Начиная с Manticore 7.4.6, мы переходим на semver. Теперь номера версий следуют чёткой схеме из трёх компонентов MAJOR.MINOR.PATCH, где:
MAJOR увеличивается при внесении несовместимых изменений в API.
MINOR увеличивается при добавлении улучшений с сохранением обратной совместимости.
PATCH увеличивается при исправлении ошибок без нарушения совместимости.
Изменение MAJOR-версии? Возможны критические изменения, требующие изменений в приложении использущем Manticore.
MINOR-версия обновилась? Новые функции без нарушения совместимости.
PATCH-обновление? Только исправления багов.
Точный контроль за изменениями в разных частях системы.
Улучшенное управление зависимостями
Читать на habr.com