
Версионирование — это хороший способ донести до ваших пользователей или других разработчиков, чего ожидать от обновления вашего проекта.
Хотя каждый разработчик волен сам выбирать свой подход, есть популярный стандарт версионирования — 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.х.х. Это настоящее критическое изменение, так что смена мажорной версии в таком случае оправдана.
