Prepare v1.0.3 release notes
This commit is contained in:
51
releases/v1.0.3/RELEASE_NOTES.md
Normal file
51
releases/v1.0.3/RELEASE_NOTES.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# QuoteForge v1.0.3
|
||||
|
||||
Дата релиза: 2026-02-06
|
||||
Тег: `v1.0.3`
|
||||
Диапазон изменений: `v1.0.2..v1.0.3`
|
||||
|
||||
## Что нового
|
||||
|
||||
- Добавлена страница управления проектами `/projects` с:
|
||||
- датой и временем создания проекта;
|
||||
- сортировкой по названию и дате создания;
|
||||
- серверной пагинацией;
|
||||
- фильтром по автору в заголовке таблицы.
|
||||
- Добавлена отдельная вкладка `Статус синхронизации` на уровне `Алерты / Компоненты / Прайслисты`.
|
||||
- Во вкладке статуса синхронизации отображаются:
|
||||
- пользователь;
|
||||
- версия приложения;
|
||||
- статус (`онлайн` или относительное время последней синхронизации).
|
||||
|
||||
## Изменения синхронизации
|
||||
|
||||
- Реализован heartbeat синхронизации пользователей в MariaDB: `qt_pricelist_sync_status`.
|
||||
- Добавлен API `GET /api/sync/users-status` для UI статуса синхронизации.
|
||||
- Логика онлайн-статуса рассчитана от интервала фоновой синхронизации: `5 минут + 10%`.
|
||||
- В heartbeat фиксируется версия приложения (`app_version`).
|
||||
|
||||
## Важные исправления
|
||||
|
||||
- Исправлено восстановление отсутствующей серверной конфигурации при push обновлений.
|
||||
- Исправлено экранирование паролей в MySQL DSN в setup.
|
||||
- Улучшена логика запуска SQL-миграций на старте при отсутствии прав/необходимости.
|
||||
- Обновлена логика пересчета прайслистов через админский price-refresh.
|
||||
|
||||
## Миграции и совместимость
|
||||
|
||||
Добавлены SQL-миграции:
|
||||
|
||||
- `migrations/010_add_pricelist_sync_status.sql`
|
||||
- `migrations/011_add_app_version_to_pricelist_sync_status.sql`
|
||||
|
||||
Релиз совместим с предыдущей веткой `v1.0.x`; новая таблица синхронизации создается автоматически.
|
||||
|
||||
## Коммиты в релизе
|
||||
|
||||
- `b1b50ce` Add projects table controls and sync status tab with app version
|
||||
- `6ab1e98` sync: recover missing server config during update push
|
||||
- `a1d2192` Fix MySQL DSN escaping for setup passwords and clarify DB user setup
|
||||
- `a90c07c` update stale files list
|
||||
- `e9307c4` Apply remaining pricelist and local-first updates
|
||||
- `1b48401` Use admin price-refresh logic for pricelist recalculation
|
||||
- `4a86f7b` fix: skip startup sql migrations when not needed or no permissions
|
||||
Reference in New Issue
Block a user