From fb412a422710d15fdfe29d268bb18e0d59590ee3 Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Tue, 1 Sep 2026 09:02:36 +0300 Subject: [PATCH] docs: release notes v3.40 Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01RAhfF4P1ySRZ67yyUUeVw2 --- releases/v3.40/RELEASE_NOTES.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 releases/v3.40/RELEASE_NOTES.md diff --git a/releases/v3.40/RELEASE_NOTES.md b/releases/v3.40/RELEASE_NOTES.md new file mode 100644 index 0000000..5859f77 --- /dev/null +++ b/releases/v3.40/RELEASE_NOTES.md @@ -0,0 +1,19 @@ +# QuoteForge v3.40 + +Дата релиза: 2026-09-01 +Тег: `v3.40` + +Предыдущий релиз: `v3.39` + +## Ключевые изменения + +- артикул: категория LOT для сегмента берётся из component universe (`world ∪ estimate`), а не из привязанного к конфигурации прайслиста — LOT, который есть только в `world` (напр. `GPU_NV_RTX_PRO_6000D_SERVER_84GB_PCIE`), больше не выпадает из артикула; +- артикул: нераспознанный токен больше не пишется как `UNK` — в артикул идёт категория LOT (`4xGPU`, `2xCPU`), сегмент помечается как нераспознанный; +- конфигуратор подсвечивает нераспознанные части артикула (amber) и выводит список предупреждений с именами LOT; сохранение конфигурации пишет `WARN` в лог; +- `POST /api/configs/preview-article` возвращает разбор артикула по сегментам (`segments[]`); +- `parseGPUModel` сохраняет буквенный суффикс в номере модели (`6000D` → `RTX6000D`), раньше терял его и схлопывал до `RTX`. + +## Запуск на macOS + +Снимите карантинный атрибут через терминал: `xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64` +После этого бинарник запустится без предупреждения Gatekeeper.