# Changelog Все заметки о выпусках Calendar Run. Backend и frontend имеют независимые версии. Дата означает дату попадания изменения в `main`; она не заменяет дату production-деплоя. Планируемые версии не вносятся сюда до выпуска — они находятся в [docs/product-backlog.md](docs/product-backlog.md). ## В работе ### Backend 1.6.0 #### Added - Управление паролем и сессиями: проверка текущего пароля, список активных сессий, отзыв выбранной или всех остальных сессий. - Фильтрация стартов по статусу, периоду и дистанции; backfill и обновление автоматически получаемых обложек. ### Frontend 0.9.0 #### Added - Экран «Аккаунт»: подтверждённый email, смена пароля и управление другими активными сессиями. - На дашборде появились фильтруемые «Последние старты» с пагинацией и переходом в старт, ссылки из карточек рекордов и интерактивный график прогресса. - Поиск, фильтры, сортировка и экспорт истории; график прогресса переведён на AG Charts. ## Backend ### [1.4.2] — 2026-07-12 #### Changed - CI и тесты используют настоящий PostgreSQL с миграциями; самодельный SQL mock удалён. - Контракт API стартов актуализирован: UUID `id`, пользовательский `slug`, авторизация, CSRF и строгая валидация запросов. - Получение обложки по сайту организатора ограничено безопасными публичными HTTP(S)-адресами, редиректами, размером и временем ответа. ### [1.4.1] — 2026-05-24 #### Changed - Усилена безопасность аутентификации, сессий и production security profile. - Добавлены проверки, предотвращающие использование dev-bypass Turnstile в production. ### [1.4.0] — 2026-05-24 #### Added - Регистрация, вход/выход, подтверждение email, повторная отправка письма и сброс пароля. - Cookie-сессии, CSRF-защита, rate limit и Turnstile. - Владение стартами: пользователь видит и изменяет только свои записи. - SMTP-уведомления и очистка истёкших auth-сущностей. ### [1.3.0] — 2026-04-27 #### Added - Необязательное автоматическое извлечение обложки старта по сайту организатора. - Поле `coverImageUrl` в модели, миграции и API. ### [1.2.2] — 2026-04-12 #### Changed - Patch-релиз: удалено временное диагностическое логирование запросов. ### [1.2.1] — 2026-04-10 #### Added - Временная диагностика `Host`/`Origin` и статуса ответа для расследования проблем подключения. ### [1.2.0] — 2026-04-08 #### Changed - Унифицирован контракт API на префиксе `/api` для Express, Vite и nginx. ### [1.1.0] — 2026-04-08 #### Added - `GET /api/meta` для отображения серверной версии в интерфейсе. ### [1.0.1] — 2026-04-08 #### Fixed - Совместимость маршрутов API с прокси и клиентским префиксом `/api`. ### [1.0.0] — 2026-04-01 #### Added - Базовый Express API для стартов, PostgreSQL-миграции, seed из CSV и health/readiness endpoints. ## Frontend ### [0.7.1] — 2026-07-12 #### Changed - Формы используют нативные поля даты и времени старта; результаты вводятся отдельными полями времени и места. - Подтверждение email завершается явным экраном успеха, auth-формы показывают состояние отправки и ошибки. - Карточка личного рекорда отображается только при реальном улучшении результата. - Удалены сгенерированные Vite/TypeScript-файлы, неиспользуемый API-клиент и статический каталог обложек. ### [0.7.0] — 2026-05-24 #### Added - Экраны регистрации, входа, подтверждения email и сброса пароля. - Защищённые маршруты, состояние сессии и выход из аккаунта. ### [0.6.2] — 2026-05-24 #### Added - Табы «Будущие» и «Прошедшие» для компактного мобильного списка стартов. ### [0.6.1] — 2026-04-27 #### Changed - Обложка ближайшего старта используется фоном hero-блока дашборда. ### [0.6.0] — 2026-04-27 #### Added - Поддержка пользовательской и автоматически полученной обложки старта в списках и карточке. ### [0.5.2] — 2026-04-27 #### Added - Favicon сервиса. ### [0.5.1] — 2026-04-27 #### Fixed - Корректное определение версии frontend из `package.json`. ### [0.5.0] — 2026-04-22 #### Changed - Редизайн дашборда и визуального представления стартов. ### [0.4.0] — 2026-04-13 #### Added - Форма старта с селектами времени, просмотр календаря годом и месяцем, страница конкретного дня. - Предзаполнение даты при добавлении из календаря. ### [0.3.1] — 2026-04-12 #### Fixed - Исправления UX списка и календаря, автоматическая установка статуса «Пробежал» при валидном времени финиша. ### [0.3.0] — 2026-04-08 #### Changed - Единый клиентский путь `/api` и устойчивый разбор ответов сервера. ### [0.2.0] — 2026-04-08 #### Added - Русский UI и футер с версиями frontend и backend. ### [0.1.1] — 2026-04-08 #### Fixed - Получение версии приложения из `package.json` вместо Vite define. ### [0.1.0] — 2026-04-06 #### Added - React/Vite приложение, типизированный API-клиент, список и карточка стартов, формы CRUD, дашборд и базовая аналитика результатов. ## Как добавлять запись при выпуске 1. Изменить версию соответствующего пакета по SemVer и обновить lockfile. 2. Добавить только фактически выпущенные изменения в раздел `Backend` или `Frontend`. 3. Если изменился API — обновить [docs/backend-api-for-frontend.md](docs/backend-api-for-frontend.md) в том же PR. 4. Перед выпуском проверить, что футер показывает новую версию frontend и фактическую версию backend.