О версионировании в Manticore

Эволюция версионирования Manticore

С выпуском Manticore 7.4.6 мы меняем версионирование в Manticore Search и сопутствующих компонентах. Этот шаг поможет сделать процесс разработки и использования Manticore более прозрачным, предсказуемым и удобным.Как было раньше: почти semver, но не совсем. Ранее наш подход к нумерации версий имел несколько особенностей, которые могли вызывать путаницу:

Номера версий увеличивались на основе субъективной оценки значимости изменений, а не по чёткому шаблону.

Мы использовали нечётные номера для обозначения версий в разработке (например, 1.2.3) и четные – для релизных версий (например, 1.2.4).

Все сборки в процессе разработки имели один и тот же номер версии между релизами, а различались только по хэшу коммита и временной метке.

Например, версии для разработки выглядели так:

7.0.1-25021913-e4b93ef47 7.0.1-25021915-e2c41b2e5 7.0.1-25021917-b8f605339 7.0.1-25021919-b4b3611db 7.0.1-25022103-101e878ef

Этот подход создавал сложности:

Трудно было отслеживать ход разработки.

Было неочевидно, какие изменения вносились между версиями.

Автоматизированное управление зависимостями становилось сложнее.

Возникали проблемы с чётким обозначением совместимости версий.

Новый подход: честное семантическое версионирование. Начиная с Manticore 7.4.6, мы переходим на semver. Теперь номера версий следуют чёткой схеме из трёх компонентов MAJOR.MINOR.PATCH, где:

MAJOR увеличивается при внесении несовместимых изменений в API.

MINOR увеличивается при добавлении улучшений с сохранением обратной совместимости.

PATCH увеличивается при исправлении ошибок без нарушения совместимости.

Преимущества нового подхода1. Теперь номер версии сразу даёт представление о характере изменений:

Изменение MAJOR-версии? Возможны критические изменения, требующие изменений в приложении использущем Manticore.

MINOR-версия обновилась? Новые функции без нарушения совместимости.

PATCH-обновление? Только исправления багов.

2. Каждый пакет каждого компонента теперь получает собственный номер версии, который увеличивается независимо. Это дает:

Точный контроль за изменениями в разных частях системы.

Улучшенное управление зависимостями для разработчиков, использующих Manticore.

3. Теперь каждое промежуточное обновление в процессе разработки имеет свой уникальный, возрастающий номер версии. При этом хэши коммитов и временные метки остаются для точного отслеживания.4. Улучшенная поддержка автоматизации

Стандартизированное версионирование помогает нам:

Надежнее управлять зависимостями в пакетных менеджерах.

Легче интегрировать Manticore в CI/CD-пайплайны.

Автоматически проверять совместимость.

Оптимизировать процесс выпуска новых версий.

5. Соответствие отраслевым стандартам

Использование SemVer делает Manticore более удобным для разработчиков, так как этот стандарт широко применяется в индустрии.

Что дальше?

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

Переходный период

С релиза Manticore 7.4.6 семантическое версионирование применяется ко всем релизам. Однако процесс перевода всех компонентов на новую схему ещё продолжается. На время этого переходного периода некоторые версии для разработки могут по-прежнему использовать старую систему с повторяющимися номерами версий. Тем не менее, все релизные версии уже полностью следуют правилам SemVer. Мы планируем завершить миграцию всех компонентов в ближайшие месяцы, после чего и релизные, и dev-версии будут соответствовать стандарту семантического версионирования.

Ждём ваших отзывов, чтобы продолжать совершенствовать Manticore для всех наших пользователей!

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии