Версионирование

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

Хотя каждый разработчик волен сам выбирать свой подход, есть популярный стандарт версионирования — SemVer. Его легко понять и использовать.

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

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

Изменение Патча означает исправление багов. Рекомендуется обновлять патч-версию как можно скорее, чтобы избежать ошибок.

С таким стандартом легко сказать, какую версию следует устанавливать, а какую — нет.

Версионирование TrackLab

Я стараюсь соблюдать SemVer, когда выпускаю новые версии TrackLab. Мажорная версия TrackLab — 0, что означает, что проект ещё в разработке и всё может измениться.

Мажорная версия ноль (0.y.z) предназначена для начальной разработки. Всё может измениться в любой момент. Публичный API не должен рассматриваться как стабильный.

Например, сейчас я работаю над миграцией с IndexedDB на SQLite. Это довольно большое изменение. Хотя я пытаюсь это будущее обновление настолько бесшовным, насколько это возможно, всякое может произойти.

Я буду поддерживать обе базы данных — и IndexedDB, и SQLite — до версии 1.0.0. Когда она выйдет? Тогда, когда я закончу все основные фичи. Вот дорожная карта:

  • MVP (0.1.0)
  • Языки (0.2.0)
  • Действия (0.3.0)
  • Теги (0.4.0)
  • Метрики (0.5.0) <- в процессе
  • Правила (0.6.0)
  • Эксперименты (0.7.0)
  • Финал (1.0.0)

Проблема с миграцией базы данных в том, что вы не сможете обновиться с версии 0.4.х на 1.х.х напрямую. Вы следует сначала обновиться до версии с двумя базами данных (0.5.x — 0.7.x), а уже затем до 1.х.х. Это настоящее критическое изменение, так что смена мажорной версии в таком случае оправдана.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *