# Changelog Все заметные изменения проекта документируются здесь. Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/), проект следует [Semantic Versioning](https://semver.org/lang/ru/). ## [Unreleased] ### Added - Prettier + ESLint конфиги, скрипты `npm run format` / `npm run lint`. - `.editorconfig` для единообразного оформления между редакторами. ## [0.5.1] — 2026-05-18 ### Fixed - **Auto-update архитектурно переписан.** Раньше `publish.url` включал `${version}` и запекался в каждый билд — установленные копии видели только свой собственный релиз. Введён фиксированный `…/releases/download/update-channel`, который никогда не меняется. - Hourly auto-проверка работает в silent-режиме: транзитные сетевые ошибки (504, TLS drops) больше не показывают красный баннер «Ошибка проверки». Только ручной клик «Проверить» поднимает ошибку. - Boot-check ретраит 3 раза с backoff 30s/2m/5m. - В `Up to date` показывается «проверено N мин назад». - `release.ps1` теперь публикует в три-четыре места одной командой: vX.Y.Z, update-channel, и переданные `-BridgeTags` для миграции пользователей со старых версий. - `upload-release-assets.ps1` ретраит curl до 4 раз с backoff на 504 / TLS-сбрасывание; до ретрая проверяет, не залился ли файл на самом деле (Gitea часто принимает body, но таймаутит ответ). - Скрипты — ASCII-only (PS5.1 без BOM падает на em-dash). ### Removed - `.gitea/workflows/*.yml` — Gitea Actions без настроенных runners оставляли queued runs в репозитории. Релизим через `release.ps1`. ## [0.5.0] — 2026-05-18 ### Added - **История + стрики.** Каждое выполненное упражнение пишется в `app-state.json` (cap 10k записей, trim oldest 10% на overflow). Heatmap-календарь 12 недель на Dashboard, ежедневный счётчик «сделано сегодня», серия дней подряд (с grace-периодом за вчера). - **Тихие часы.** Окно времени, в которое напоминания подавляются. Поддержка wrap-around (22:00 → 08:00) и фильтра по дням недели. - **Частичное выполнение.** Степпер `−/+` в окне напоминания: можно отметить «сделал 5 из 10», в историю запишется честное число. - README.md на русском — описание, фичи, установка, dev-команды, архитектура, стек. ### Changed - `markDone(id, actualReps?)` принимает фактическое число повторений. ### Tests - `+18` тестов (5 для тихих часов, 13 для истории/стриков). Всего 51. ## [0.4.0] — 2026-05-17 ### Added - **Английская локализация.** Самописная i18n: плоский словарь ~200 ключей × 2 языка + хук `useT()` + плюрализация (CLDR rules для RU: one/few/many). - Селектор языка в Settings, переключение мгновенное. ## [0.3.x] — 2026-05-17 Серия мелких релизов с дизайн-итерациями (Apple iOS / macOS aesthetic): шрифты Plus Jakarta Sans + Bricolage Grotesque, светлая/тёмная/системная тема, vibrancy sidebar, iOS-grouped lists, spring-анимации. ## [0.2.0] — 2026-05-16 ### Added - Dota 2 Game State Integration: локальный HTTP-сервер парсит callbacks от Steam, после Победа/Поражение показывает «причитающиеся» повторения (например `10 смертей × 3 = 30 приседаний`). ## [0.1.x] — 2026-05-15 .. 2026-05-16 Первые публичные сборки: ядро напоминаний (упражнения, интервалы, иконки), системный трей, автозапуск с Windows, native-уведомления, NSIS-инсталлятор, auto-update через electron-updater. [Unreleased]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/compare/v0.5.1...HEAD [0.5.1]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/tag/v0.5.1 [0.5.0]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/tag/v0.5.0 [0.4.0]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/tag/v0.4.0 [0.2.0]: https://xn--90adajar8af4h.xn--p1ai/git/AnRil/laude/releases/tag/v0.2.0