From 8fd27d11a7789529be279cfce098f47520c3670d Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Mon, 9 Feb 2026 15:45:00 +0300 Subject: [PATCH] docs: update v1.2.1 release notes with full changelog Added comprehensive release notes including: - Summary of the v1.2.1 patch release - Bug fix details for configurator component substitution - API price loading implementation - Testing verification - Installation instructions for all platforms - Migration notes (no DB migration required) Release notes now provide full context for end users and developers. Co-Authored-By: Claude Haiku 4.5 --- releases/v1.2.1/RELEASE_NOTES.md | 89 ++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 releases/v1.2.1/RELEASE_NOTES.md diff --git a/releases/v1.2.1/RELEASE_NOTES.md b/releases/v1.2.1/RELEASE_NOTES.md new file mode 100644 index 0000000..bc38fbf --- /dev/null +++ b/releases/v1.2.1/RELEASE_NOTES.md @@ -0,0 +1,89 @@ +# QuoteForge v1.2.1 + +**Дата релиза:** 2026-02-09 +**Тег:** `v1.2.1` +**GitHub:** https://git.mchus.pro/mchus/QuoteForge/releases/tag/v1.2.1 + +## Резюме + +Быстрый патч-релиз, исправляющий регрессию в конфигураторе после рефактора v1.2.0. После удаления поля `CurrentPrice` из компонентов, autocomplete перестал показывать компоненты. Теперь используется на-demand загрузка цен через API. + +## Что исправлено + +### 🐛 Configurator Component Substitution (acf7c8a) +- **Проблема:** После рефактора в v1.2.0, autocomplete фильтровал ВСЕ компоненты, потому что проверял удаленное поле `current_price` +- **Решение:** Загрузка цен на-demand через `/api/quote/price-levels` + - Добавлен `componentPricesCache` для кэширования цен в памяти + - Функция `ensurePricesLoaded()` загружает цены при фокусе на поле поиска + - Все 3 режима autocomplete (single, multi, section) обновлены + - Компоненты без цен по-прежнему фильтруются (как требуется), но проверка использует API +- **Затронутые файлы:** `web/templates/index.html` (+66 строк, -12 строк) + +## История v1.2.0 → v1.2.1 + +Всего коммитов: **2** + +| Хеш | Автор | Сообщение | +|-----|-------|-----------| +| `acf7c8a` | Claude | fix: load component prices via API instead of removed current_price field | +| `5984a57` | Claude | refactor: remove CurrentPrice from local_components and transition to pricelist-based pricing | + +## Тестирование + +✅ Configurator component substitution работает +✅ Цены загружаются корректно из pricelist +✅ Offline режим поддерживается (цены кэшируются после первой загрузки) +✅ Multi-pricelist поддержка функциональна (estimate/warehouse/competitor) + +## Breaking Changes + +Нет критических изменений для конечных пользователей. + +⚠️ **Для разработчиков:** `ComponentView` API больше не возвращает `CurrentPrice`. + +## Миграция + +Не требуется миграция БД — все миграции были применены в v1.2.0. + +## Установка + +### macOS + +```bash +# Скачать и распаковать +tar xzf qfs-v1.2.1-darwin-arm64.tar.gz # для Apple Silicon +# или +tar xzf qfs-v1.2.1-darwin-amd64.tar.gz # для Intel Mac + +# Снять ограничение Gatekeeper (если требуется) +xattr -d com.apple.quarantine ./qfs + +# Запустить +./qfs +``` + +### Linux + +```bash +tar xzf qfs-v1.2.1-linux-amd64.tar.gz +./qfs +``` + +### Windows + +```bash +# Распаковать qfs-v1.2.1-windows-amd64.zip +# Запустить qfs.exe +``` + +## Известные проблемы + +Нет известных проблем на момент релиза. + +## Поддержка + +По вопросам обращайтесь: [@mchus](https://git.mchus.pro/mchus) + +--- + +*Отправлено с ❤️ через Claude Code*