⚠️ Эта страница автоматически переведена, и перевод может быть несовершенным.
blog-post

About Versioning in Manticore

Эволюция нашей стратегии версионирования

С выпуском Manticore 7.4.6 , мы рады объявить о значительном улучшении процесса версионирования нашего программного обеспечения. Это изменение представляет важный шаг в нашем стремлении обеспечить более прозрачный, предсказуемый и удобный для разработчиков опыт.

Старый подход: почти, но не совсем семантическое версионирование

Ранее наш подход к версионированию имел несколько особенностей, вызывавших путаницу:

  • Номера версий увеличивались на основе субъективных оценок значимости изменений, а не по последовательному шаблону
  • Мы использовали нечётную/чётную нумерацию для различения версий разработки (нечётные, например, 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 , мы приняли правильное Semantic Versioning (SemVer). Этот стандартизированный подход использует трёхчастный номер версии (MAJOR.MINOR.PATCH) с чёткими правилами:

  1. MAJOR версия увеличивается, когда мы вносим несовместимые изменения API
  2. MINOR версия увеличивается, когда мы добавляем функциональность совместимым образом
  3. PATCH версия увеличивается, когда мы делаем совместимые исправления ошибок

Преимущества нашего нового подхода

1. Более ясная коммуникация

Каждый номер версии теперь передаёт значимую информацию о характере изменений. Когда вы видите повышение версии, вы сразу понимаете, какие изменения ожидать:

  • Изменение мажорной версии? Готовьтесь к потенциальным разрывным изменениям
  • Изменение минорной версии? Ожидайте новые функции, которые не нарушат существующий код
  • Изменение патч-версии? Исправления ошибок, сохраняющие совместимость

2. Независимое версионирование пакетов

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

  • Более детальное отслеживание изменений в экосистеме
  • Улучшенное управление зависимостями в проектах, использующих компоненты Manticore

3. Упрощённое отслеживание разработки

Сборки разработки теперь имеют уникальные, увеличивающиеся номера версий, которые чётко указывают их место в временной шкале разработки, при этом сохраняются хеши коммитов и метки времени для точного отслеживания. Это обеспечивает лучшую видимость прогресса версий разработки.

4. Улучшенная поддержка автоматизации

Стандартизированное версионирование позволяет:

  • Более надёжное разрешение зависимостей в менеджерах пакетов
  • Более простую интеграцию с CI/CD конвейерами
  • Автоматическую проверку совместимости
  • Оптимизированные процессы релизов

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

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

6. Улучшенное сигнализирование о стабильности

Пользователи теперь могут принимать более обоснованные решения об обновлениях:

  • Патч-обновления можно применять с минимальным риском
  • Минорные обновления приносят новые функции с обратной совместимостью
  • Мажорные обновления сигнализируют о необходимости более тщательного тестирования и возможных изменений кода

Взгляд в будущее

Этот переход к семантическому версионированию отражает нашу приверженность предоставлению более удобного для разработчиков опыта. Мы считаем, что эти изменения сделают работу с Manticore более предсказуемой и приятной.

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

Период перехода

Хотя мы полностью внедрили семантическое версионирование для релизных версий, начиная с Manticore 7.4.6, мы всё ещё мигрируем все компоненты на новую схему версионирования. В течение этого переходного периода некоторые версии разработки могут по‑прежнему использовать предыдущую схему с общими номерами версий. Тем не менее, все релизные версии будут последовательно следовать новому подходу семантического версионирования.

Мы ожидаем завершить миграцию всех компонентов в ближайшие месяцы, после чего как версии разработки, так и релизные версии полностью будут соответствовать принципам семантического версионирования.

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

Установить Manticore Search

Установить Manticore Search