177 lines
8.5 KiB
Markdown
177 lines
8.5 KiB
Markdown
# Changelog - История изменений MC Panel
|
||
|
||
Все значимые изменения в проекте документируются в этом файле.
|
||
|
||
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/),
|
||
и проект следует [Semantic Versioning](https://semver.org/lang/ru/).
|
||
|
||
---
|
||
|
||
## [1.1.0] - 2026-01-15
|
||
|
||
### Добавлено ✨
|
||
|
||
#### Система прав и ролей
|
||
- **Роль владельца (Owner)** - полный контроль над панелью
|
||
- **Система прав** - детальное управление возможностями пользователей
|
||
- **5 ролей**: Owner, Admin, Support, User, Banned
|
||
- **7 типов прав**: manage_users, manage_roles, manage_servers, manage_tickets, manage_files, delete_users, view_all_resources
|
||
|
||
#### API эндпоинты
|
||
- `GET /api/users` - Получить список пользователей
|
||
- `PUT /api/users/{user_id}/role` - Изменить роль пользователя
|
||
- `PUT /api/users/{user_id}/permissions` - Изменить права пользователя
|
||
- `POST /api/users/{user_id}/access/servers` - Выдать доступ к серверу
|
||
- `DELETE /api/users/{user_id}/access/servers/{server_name}` - Забрать доступ к серверу
|
||
- `DELETE /api/users/{user_id}` - Удалить пользователя
|
||
- `POST /api/users/{user_id}/ban` - Заблокировать пользователя
|
||
- `POST /api/users/{user_id}/unban` - Разблокировать пользователя
|
||
|
||
#### Инструменты
|
||
- **migrate_users.py** - Скрипт миграции пользователей на новую систему
|
||
- **MIGRATE_USERS.bat** - Bat файл для запуска миграции на Windows
|
||
- **OWNER_PERMISSIONS.md** - Полная документация системы прав (~500 строк)
|
||
|
||
#### Документация
|
||
- Документация системы прав и ролей
|
||
- Примеры использования API на Python, JavaScript, cURL
|
||
- FAQ по системе прав
|
||
- Инструкции по миграции
|
||
|
||
### Изменено 🔄
|
||
|
||
- Первый зарегистрированный пользователь теперь получает роль `owner` вместо `admin`
|
||
- Обновлена структура пользователя в `users.json`:
|
||
- Добавлено поле `permissions` с детальными правами
|
||
- Добавлено поле `resource_access` для управления доступом к ресурсам
|
||
- Все эндпоинты управления пользователями теперь проверяют права доступа
|
||
- Обновлена версия проекта с 1.0.0 до 1.1.0
|
||
|
||
### Безопасность 🔒
|
||
|
||
- Добавлена проверка прав для всех административных эндпоинтов
|
||
- Логирование всех действий владельца
|
||
- Защита от удаления владельца
|
||
- Автоматическое понижение роли при передаче прав владельца
|
||
|
||
---
|
||
|
||
## [1.0.0] - 2026-01-15
|
||
|
||
### Добавлено ✨
|
||
|
||
#### Backend (FastAPI)
|
||
- REST API с 37 эндпоинтами
|
||
- JWT аутентификация (токены на 7 дней)
|
||
- OpenID Connect интеграция (ZITADEL)
|
||
- WebSocket для real-time консоли
|
||
- Управление Minecraft серверами
|
||
- Файловый менеджер API
|
||
- Система тикетов
|
||
- Роли пользователей (admin, user)
|
||
- Bcrypt хеширование паролей
|
||
|
||
#### Frontend (React)
|
||
- 6 тем оформления (modern, dark, light, blue, green, purple)
|
||
- Цветная консоль (INFO=зелёный, WARN=жёлтый, ERROR=красный)
|
||
- Файловый менеджер с поиском
|
||
- Создание файлов и папок
|
||
- Перемещение файлов (Cut/Paste)
|
||
- Система уведомлений (4 типа: success, error, warning, info)
|
||
- Тикеты с real-time обновлениями (каждые 3 секунды)
|
||
- Статистика серверов (CPU, RAM, диск)
|
||
- Личный кабинет
|
||
- Responsive дизайн
|
||
|
||
#### Docker & DevOps
|
||
- Multi-stage Dockerfile (Node.js + Python)
|
||
- Docker Compose конфигурация
|
||
- Non-root пользователь для безопасности
|
||
- Healthcheck для мониторинга
|
||
- Volumes для персистентности данных
|
||
- Nginx reverse proxy с SSL/TLS
|
||
- Security headers (HSTS, X-Frame-Options, etc.)
|
||
- Rate limiting для защиты от DDoS
|
||
- 4 CI/CD пайплайна (Drone):
|
||
- code-quality - Проверка качества кода
|
||
- build-and-publish - Сборка и публикация образа
|
||
- deploy-staging - Деплой на staging
|
||
- deploy-production - Деплой на production
|
||
|
||
#### Bat файлы (Windows)
|
||
- START_PANEL.bat - Локальный запуск
|
||
- START_DOCKER.bat - Запуск в Docker
|
||
- STOP_DOCKER.bat - Остановка Docker
|
||
- RESTART_DOCKER.bat - Перезапуск Docker
|
||
- LOGS_DOCKER.bat - Просмотр логов
|
||
- UPDATE_DOCKER.bat - Обновление Docker образа
|
||
- BACKUP_DATA.bat - Создание backup
|
||
- RESTORE_DATA.bat - Восстановление из backup
|
||
|
||
#### Документация
|
||
- README.md - Главная навигация (~200 строк)
|
||
- ДОКУМЕНТАЦИЯ.md - Полное руководство (~500 строк)
|
||
- API.md - API документация (~300 строк)
|
||
- DOCKER.md - Docker и CI/CD (~400 строк)
|
||
- DOCKER_COMMANDS.md - Docker команды (~300 строк)
|
||
- DOCKER_ГОТОВО.md - Docker summary (~400 строк)
|
||
- ГОТОВО.md - История разработки (~200 строк)
|
||
- ПРОЕКТ_ЗАВЕРШЁН.md - Полный обзор (~600 строк)
|
||
- ФИНАЛЬНЫЙ_СПИСОК.md - Список файлов (~700 строк)
|
||
- INSTALL_DOCKER.md - Установка Docker (~400 строк)
|
||
- FAQ.md - Часто задаваемые вопросы (~500 строк)
|
||
- BAT_FILES.md - Описание bat файлов (~400 строк)
|
||
- QUICKSTART.md - Быстрый старт (~300 строк)
|
||
- РАБОТА_ЗАВЕРШЕНА.md - Финальный summary (~200 строк)
|
||
- CHECKLIST.md - Финальный checklist (~400 строк)
|
||
|
||
#### Другое
|
||
- MC_Panel_API.postman_collection.json - Postman коллекция (40+ запросов)
|
||
- .gitignore - Git ignore правила
|
||
- .dockerignore - Docker ignore правила
|
||
- .env.example - Шаблон переменных окружения
|
||
|
||
### Исправлено 🐛
|
||
|
||
- Ошибка импорта `authlib.integrations.fastapi_client` → `starlette_client`
|
||
- Проблемы с drag & drop в файловом менеджере (отключено по запросу)
|
||
- Уведомления теперь показываются для всех действий
|
||
- Real-time обновления в тикетах работают корректно
|
||
|
||
### Безопасность 🔒
|
||
|
||
- JWT токены с истечением через 7 дней
|
||
- Bcrypt хеширование паролей (cost factor 12)
|
||
- OpenID Connect поддержка
|
||
- Проверка прав доступа на всех эндпоинтах
|
||
- Защита файловой системы от path traversal
|
||
- Non-root Docker пользователь
|
||
- Security headers в Nginx
|
||
- Rate limiting в Nginx
|
||
- HTTPS обязательный для production
|
||
|
||
---
|
||
|
||
## Типы изменений
|
||
|
||
- **Добавлено** ✨ - новая функциональность
|
||
- **Изменено** 🔄 - изменения в существующей функциональности
|
||
- **Устарело** ⚠️ - функциональность, которая скоро будет удалена
|
||
- **Удалено** 🗑️ - удалённая функциональность
|
||
- **Исправлено** 🐛 - исправление ошибок
|
||
- **Безопасность** 🔒 - изменения, связанные с безопасностью
|
||
|
||
---
|
||
|
||
## Ссылки
|
||
|
||
- [Документация](ДОКУМЕНТАЦИЯ.md)
|
||
- [API](API.md)
|
||
- [Docker](DOCKER.md)
|
||
- [FAQ](FAQ.md)
|
||
|
||
---
|
||
|
||
**Формат:** [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/)
|
||
**Версионирование:** [Semantic Versioning](https://semver.org/lang/ru/)
|