Руководство по версионированию PXLR CMS

Семантическое версионирование

23 июля 2025 г.
PXLR Teme
1 тег

📋 Семантическое версионирование

Проект использует Semantic Versioning формата MAJOR.MINOR.PATCH:

  • MAJOR (X.0.0) - Кардинальные изменения с нарушением обратной совместимости
  • MINOR (0.X.0) - Новые функции с сохранением обратной совместимости
  • PATCH (0.0.X) - Исправления ошибок без изменения API

📂 Синхронизация версий

Все package.json файлы должны иметь одинаковую версию:

  • /package.json (корневой)
  • /frontend/package.json
  • /admin/package.json
  • /backend/package.json

🔄 Процесс обновления версии

1. Перед релизом

# Проверяем текущие версии
grep '"version"' package.json
grep '"version"' frontend/package.json
grep '"version"' admin/package.json  
grep '"version"' backend/package.json

2. Обновляем версию везде

# Например, с 0.1.1 на 0.1.2
sed -i '' 's/"version": "0\.1\.1"/"version": "0.1.2"/' package.json
sed -i '' 's/"version": "0\.1\.1"/"version": "0.1.2"/' frontend/package.json
sed -i '' 's/"version": "0\.1\.1"/"version": "0.1.2"/' admin/package.json
sed -i '' 's/"version": "0\.1\.1"/"version": "0.1.2"/' backend/package.json

3. Обновляем CHANGELOG.md

  • Добавляем новую версию в начало файла
  • Документируем все изменения по категориям

4. Обновляем README.md

  • Обновляем текущую версию в разделе "История изменений"
  • Обновляем дату последнего обновления

📅 Шаблон для CHANGELOG.md

## [0.X.X] - YYYY-MM-DD

### Added
- 🆕 **Новая функция** - описание

### Changed  
- 🔄 **Изменено** - описание

### Fixed
- 🔧 **Исправлено** - описание

### Removed
- 🗑️ **Удалено** - описание

🎯 Критерии для типов релизов

PATCH версии (0.1.X)

  • ✅ Исправления ошибок
  • ✅ Обновления зависимостей без API изменений
  • ✅ Улучшения производительности
  • ✅ Исправления типов TypeScript
  • ✅ Обновления документации

MINOR версии (0.X.0)

  • ✅ Новые функции
  • ✅ Новые API endpoints
  • ✅ Новые UI компоненты
  • ✅ Улучшения UX
  • ✅ Новые настройки

MAJOR версии (X.0.0)

  • ✅ Кардинальные архитектурные изменения
  • ✅ Изменения в API с нарушением совместимости
  • ✅ Обновления фреймворков с breaking changes
  • ✅ Удаление устаревших функций

🔍 Checklist для релиза

  • [ ] Все версии в package.json синхронизированы
  • [ ] CHANGELOG.md обновлен с новой версией
  • [ ] README.md содержит актуальную версию и дату
  • [ ] Все тесты проходят (npm run lint, tsc --noEmit)
  • [ ] Документация обновлена при необходимости
  • [ ] Git tag создан для версии: git tag v0.X.X

📈 Планы версий

v0.2.0 - Следующая минорная версия

  • Планируемые новые функции
  • Улучшения UX/UI

v1.0.0 - Первый стабильный релиз

  • Полная готовность к продакшну
  • Стабильное API
  • Полная документация
  • Тесты покрытия

⚠️ Важно: Всегда обновляйте версии во всех package.json файлах одновременно!

Похожие посты

PXLR CMS теперь включает мощный блочный редактор, который позволяет создавать контент используя различные типы блоков вместо традиционного текстового редактора.