• v2.21 8b2dc6652a

    mchus released this 2026-06-25 10:14:51 +03:00 | 0 commits to main since this release

    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.

    Downloads