Руководство по версионированию PXLR CMS
Семантическое версионирование
📋 Семантическое версионирование
Проект использует 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 файлах одновременно!
Похожие посты
Expected string, received array
разработкаpxlr
Создание постов
разработкаpxlr
PXLR CMS теперь включает мощный блочный редактор, который позволяет создавать контент используя различные типы блоков вместо традиционного текстового редактора.
разработкаpxlr