Как стать автором
Обновить

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

Время на прочтение3 мин
Количество просмотров297

Эволюция версионирования 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 для всех наших пользователей!

Теги:
Хабы:
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

Другие новости

Ближайшие события