Files
NeveTimePanel/CHANGELOG.md

177 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/)