diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..a918a2a --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.6.0 diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 9da177e..69c5ab5 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -310,3 +310,48 @@ git push https://ruslan%40ipcom.su:utOgbZ09ruslan@git.ruslan.xyz/ruslan/Stend_mo 6. Важный операционный урок: - При работе с `docker compose` обязательно сохранять `.env` заполненным; пустой `.env` приводит к запуску со значениями по умолчанию (пустые креды/хост), что ломает подключение API к БД. + +## 17) Версионность (введено 2026-04-22) + +Принята базовая схема SemVer: +- `MAJOR` — несовместимые изменения API/поведения; +- `MINOR` — новая функциональность без поломки совместимости; +- `PATCH` — исправления багов и операционные правки. + +Текущая версия проекта: +- `0.6.0` (см. файл `VERSION` в корне репозитория). + +Правило релиза: +- при любом релизном изменении обновлять `VERSION` и добавлять краткую запись в `PROJECT_CONTEXT.md`. + +## 18) Обновления (2026-04-22) + +1. Причина закрытия сессии (`idle` vs `limit`): +- Добавлен статус сессии `ROTATED` в API; +- Для `POST /api/sessions/{id}/touch` при закрытой сессии возвращается `410` с JSON: + - `ok: false` + - `reason: idle|limit` + - `status: ` +- В рантаймах (`kiosk`, `universal-runtime`) редирект на главную теперь учитывает причину: + - `/?session_closed=idle` + - `/?session_closed=limit` +- На главной странице добавлено отдельное сообщение о закрытии из-за лимита активных сервисов. + +2. API воркеры: +- Значение в `docker-compose.yml` увеличено до `uvicorn --workers 18`. + +3. Логирование API усилено (structured logging): +- Добавлены структурированные JSON-события с `event` и `req_id`; +- Расширен middleware логирования запросов: метод, путь, query, статус, длительность, client_ip, user_agent; +- Добавлен порог медленных запросов через `LOG_SLOW_REQUEST_MS` (по умолчанию `2000` мс); +- Добавлены ключевые события жизненного цикла сессий: + - `session_open_requested` + - `session_created` + - `session_rotated` + - `session_closed` + - `session_touch_rejected` + - `session_closed_by_user` + +4. Операционная польза: +- Быстрее диагностируются причины `504`/обрывов/закрытий; +- Проще фильтровать инциденты по `req_id` и `session_id` в `docker compose logs api`.