-
QuoteForge v2.25 Stable
released this
2026-06-29 09:11:01 +03:00 | 56 commits to main since this releaseДата релиза: 2026-06-29
Тег:v2.25Предыдущий релиз:
v2.24Ключевые изменения
- исправлено дублирование позиций в таблице «Цена покупки» и в экспорте CSV: сопоставление LOT между BOM и корзиной теперь регистронезависимое;
- нормализация LOT-маппингов BOM сведена в единую каноничную функцию на бэкенде (UPPERCASE + схлопывание дублей) — устранены разошедшиеся копии, дававшие разный результат на фронте и в CSV;
- единый источник категории LOT —
local_pricelist_items.lot_category; удалён неиспользуемый серверный слой управления компонентами/категориями.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
-
QuoteForge v2.24 Stable
released this
2026-06-26 10:49:35 +03:00 | 59 commits to main since this releaseДата релиза: 2026-06-26
Тег:v2.24Что нового
Исправления
- Исправлен ReferenceError в конфигураторе при выборе компонента в секционированных вкладках (Storage, PCI). Переменная
sectionCategoriesне была определена — опечатка, должно бытьsection.categories. Ошибка возникала при клике на элемент автокомплита во вкладках с секциями.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
- Исправлен ReferenceError в конфигураторе при выборе компонента в секционированных вкладках (Storage, PCI). Переменная
-
released this
2026-06-23 09:33:31 +03:00 | 75 commits to main since this releaseQuoteForge v2.19
Дата релиза: 2026-06-23
Тег:v2.19Что нового
Серверно-управляемые настройки конфигуратора
Типы устройств, структура вкладок и фильтры категорий теперь приезжают с сервера вместо жёстко заданных JS-констант.
- новая таблица
qt_settingsна стороне сервера (контракт вbible-local/server-contract-qt-settings.md); - QF синхронизирует
qt_settings→local_qt_settings(SQLite) после каждой синхронизации компонентов; - новый endpoint
GET /api/configurator-settingsотдаёт четыре настройки:config_types,tab_config,always_visible_tabs,required_categories; - при недоступности сервера или отсутствии таблицы QF автоматически использует прежние захардкоженные значения — поведение не меняется.
Динамический выбор типа оборудования
- модальное окно «Новая конфигурация» загружает типы устройств с сервера: названия и количество кнопок определяются в
qt_settings.config_types; - добавление новых типов устройств не требует обновления QF.
Серверно-управляемая фильтрация категорий
- конфигуратор фильтрует LOT-категории по списку из
qt_settings.config_types[].categories; - структура вкладок обновляется из
qt_settings.tab_config(порядок вкладок, подразделы, single-select режим); - бейдж на вкладке при незаполненных обязательных категориях (
qt_settings.required_categories).
Прочее
- тайтлы страниц переименованы с OFS на QFS.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
- новая таблица
-
Release v1.18 Stable
released this
2026-06-18 14:25:55 +03:00 | 78 commits to main since this releaseQuoteForge v1.18
Дата релиза: 2026-06-18
Тег:v1.18Предыдущий релиз:
v1.17Ключевые изменения
- BOM: поддержка формата
<qty>x <description>при импорте Nx-спецификаций; - BOM: приоритет cart-LOT в дропдауне, корректный qtyMismatch при lot_qty_per_pn > 1;
- CSV экспорт: bundle (1 PN → N LOT) разворачивается в отдельные строки;
- ценообразование: ручная цена (buy/sale) сохраняется и экспортируется в CSV;
- ценообразование: таблица использует qty из корзины как источник истины;
- ценообразование: правильный порядок строк (MB→CPU→MEM→…) в pricing CSV и вкладке Ценообразование при отсутствии BOM;
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
- BOM: поддержка формата
-
Release v1.16 Stable
released this
2026-06-16 17:29:28 +03:00 | 87 commits to main since this releaseQuoteForge v1.16
Дата релиза: 2026-06-16
Тег:v1.16Предыдущий релиз:
v1.15Ключевые изменения
- self-heal застрявших pending changes: конфигурации со ссылкой на удалённый проект теперь автоматически переназначаются на «Без проекта» вместо вечной ошибки;
- авторемонт очереди (
RepairPendingChanges) запускается автоматически перед каждым push-циклом; - после 20 неудачных попыток неисправимые записи удаляются из очереди (логируются как ERROR);
- неизвестные
entity_typeиoperationв очереди дропаются с предупреждением вместо блокировки; - детальная диагностика в
qt_client_schema_state.last_sync_error_text: теперь JSON-массив сuuid/op/attempts/errorпо каждому застрявшему изменению; - книги партномеров синхронизируются автоматически вместе с прайслистами.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
-
Release v1.14 Stable
released this
2026-06-16 09:17:10 +03:00 | 91 commits to main since this releaseQuoteForge v1.14
Дата релиза: 2026-06-16
Тег:v1.14Предыдущий релиз:
v1.13Ключевые изменения
- добавлен импорт человекочитаемого текстового BOM формата
<описание> - <кол-во> шт.
(с необязательным заголовком, оканчивающимся на, в составе:) — как при загрузке файла
черезPOST /api/projects/:uuid/vendor-import, так и при вставке в конфигураторе; - заголовок конфигурации определяется по маркеру
, в составе:с любым префиксом
(Сервер X3иВычислительный GPU сервер X3→ модельX3); - парсинг устойчив к пробелам в начале/конце строки (в P/N не попадает лишний пробел),
а также к запятым и дефисам внутри описания (RAID0,1,10,8-GPU-2304GB); - вставка BOM в конфигураторе и импорт файла используют единый серверный парсер
(POST /api/vendor-spec/parse-text) — дублирующая логика разбора на фронтенде удалена; - сабмодуль
bibleобновлён до актуальных контрактов (build-version-display,
local-first-recovery, резервные копии миграций).
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
- добавлен импорт человекочитаемого текстового BOM формата
-
v1.12 Stable
released this
2026-06-03 13:46:24 +03:00 | 100 commits to main since this releaseфикс режиме работы кнопки скопировать когфин
Downloads
-
v1.10 Stable
released this
2026-06-02 14:06:18 +03:00 | 104 commits to main since this releaseQuoteForge v1.10
Дата релиза: 2026-06-02
Тег:v1.10Что нового
Новые возможности
- Support Bundle — кнопка-иконка в шапке рядом с именем пользователя скачивает ZIP-архив с диагностикой: версия приложения, статистика локальной БД, статус подключения с TCP-пингом до сервера, история синхронизаций (
sync_log), список скачанных прайслистов, системные метрики (память, диск), состояние readiness-блокировки и лог-файл приложения. - Автосинхронизация компонентов — при первом запуске с пустой таблицей компонентов фоновый воркер автоматически скачивает каталог из MariaDB. Новые пользователи сразу видят все вкладки и автокомплит артикулов без ручной синхронизации.
- Импорт собственного CSV QuoteForge — файлы, экспортированные из QuoteForge, можно импортировать обратно в конфигурацию.
- Кнопка «Обновить цены» на странице варианта проекта — обновление цен доступно прямо со страницы проекта.
- Импорт BOM Inspur в формате PN×qty — поддержка формата
артикул × количествопри импорте Inspur-спецификаций.
Исправления
- «Не докачано» исчезает когда всё на месте — исправлена логика
NeedSync: при наличии подключения всегда сравниваем реальные версии с сервером, не ориентируясь на давность последнего синка. Устраняет ситуацию когда бейдж висел вечно после сетевого сбоя, хотя все прайслисты уже были скачаны. - Синхронизация прайслистов через медленное соединение — увеличен
WriteTimeoutс 30 с до 10 мин. При высокой задержке до сервера (VPN, >300 мс) кнопка «Синхронизировать» больше не зависает без обратной связи. - ALTER-спам в логах — устранены повторяющиеся WARN
ALTER command deniedкаждые 5 минут. DDL наqt_client_schema_stateвыполняется не более одного раза за жизнь процесса и только если колонки реально отсутствуют. - Галочка «Создать копию» включена по умолчанию в обоих диалогах клонирования.
- Сортировка категорий в CSV-экспорте — исправлена сортировка без учёта регистра и правильный порядок (MB → CPU → MEM → RAID → диски → GPU → NIC → HBA → PSU → ACC).
/api/categoriesвозвращалdisplay_order: 0для всех категорий — исправлено.
Запуск на macOS
Снимите карантинный атрибут через терминал:
xattr -d com.apple.quarantine /path/to/qfs-darwin-arm64
После этого бинарник запустится без предупреждения Gatekeeper.Downloads
- Support Bundle — кнопка-иконка в шапке рядом с именем пользователя скачивает ZIP-архив с диагностикой: версия приложения, статистика локальной БД, статус подключения с TCP-пингом до сервера, история синхронизаций (
-
released this
2026-05-19 12:37:47 +03:00 | 119 commits to main since this release- Вынести sortConfigsByLine() — устранить дублирование sort.Slice
в ProjectToExportData и ProjectToPricingExportData - Добавить ConfigToPricingExportData() и ExportConfigPricingCSV handler
- Зарегистрировать POST /api/configs/:uuid/export/pricing
- Заменить клиентский DOM-скрапинг exportPricingCSV() на fetch к новому
endpoint; артикул теперь включается через pricingConfigSummaryRow
Downloads
- Вынести sortConfigsByLine() — устранить дублирование sort.Slice
-
release: v1.8 Stable
released this
2026-04-28 16:56:45 +03:00 | 122 commits to main since this releaseQuoteForge v1.8
Дата релиза: 2026-04-28
Тег:v1.8Ключевые изменения
- исправлен sync прайслистов при конфликте
local_pricelists.server_id: сохранение локального снапшота стало idempotent через upsert; - сохранение нового локального снапшота прайслиста теперь атомарно заменяет строки внутри одной транзакции;
- sync обновляет метаданные уже существующих локальных прайслистов;
- устаревшие sync/export тесты приведены к актуальному контракту,
go test ./...проходит полностью.
Downloads
- исправлен sync прайслистов при конфликте