Files
QuoteForge/releases/v1.0.3/RELEASE_NOTES.md
2026-02-06 14:04:06 +03:00

52 lines
2.9 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.
# 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