Files
QuoteForge/releases/v2.21/RELEASE_NOTES.md
2026-06-25 10:14:51 +03:00

2.5 KiB
Raw Blame History

QuoteForge v2.21

Дата релиза: 2026-06-25 Тег: v2.21

Что нового

Короткие ссылки на проекты и варианты

  • GET /:code — редирект на проект по коду опти (регистронезависимо);
  • GET /:code/:variant — редирект на конкретный вариант проекта;
  • валидация кода опти и имени варианта: только URL-безопасные символы [A-Za-z0-9._-] — проверка на бэкенде и в форме с подсказкой «Используется в URL: /КОД/Вариант».

Ревизия «до обновления цен»

При нажатии «Обновить цены» автоматически создаётся ревизия текущего состояния конфигурации до применения новых цен, после чего сохраняется ревизия с обновлёнными ценами. История изменений теперь полная.

Исправления

  • Старая цена в итоге конфигурации больше не зачёркивается, если цены фактически не изменились.
  • Устранён race condition: SyncPricelists() теперь защищена мьютексом — параллельный запуск фонового тикера и ручной синхронизации больше не приводит к UNIQUE constraint failed.
  • Дублирующиеся lot_name в серверном прайслисте пропускаются при загрузке вместо аварийного завершения синхронизации.
  • Ошибки отправки конфигураций и проектов на сервер теперь видны в диалоге «Информация о синхронизации» и в support bundle (sync_log, тип changes).
  • Состояние клиента (last_sync_error_code и др.) отправляется на сервер по завершении синхронизации независимо от её результата.

Запуск на macOS

Снимите карантинный атрибут через терминал: xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.