# Changelog

Все значимые изменения проекта документируются в этом файле.

Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/).

---

## [1.0.117] - 2026-04-07

### Добавлено

- Списки в текстовом редакторе (DEV-12615)
- Якорные ссылки
- Страница и UX биллинга: лимиты (`limitsApi`), статистика использования, модалки paywall и повышения лимита (`LimitUpgradeModal`, в том числе превышение `image_generate`), виджет тарифа в левом меню (`MenuTariffWidget`): триал, подписка, автопродление (DEV-11223 и связанные задачи)
- Модальные окна биллинга: выбор тарифа при оплате (`PlanCheckoutChoiceModal`), запрос счёта для юрлица с префилдом и синхронизацией полей (`TariffInvoiceRequestModal`)
- Переработка социальных блоков: drag-and-drop, подсказки в настройках, пользовательские иконки; платформа VK (`vkv`); контраст и фон атомов и ячеек; кнопка удаления в форме соцэлемента; обновление CDN URL и генерация ссылок на иконки (DEV-13666 и смежные правки)
- Опции форматирования текста в `SelectedTextCommonForm`
- Поддержка `commonStyles` в iframe и глубокое слияние стилей контента; доработка отступов панелей
- Удаление `width` и `max-width` у изображений в неадаптивных письмах (`stripImageWidthForNonResponsive`)
- Проверки явной ширины контент-колонок во многоколоночных структурах и корректный пересчёт ширин блоков

### Исправлено

- Тема письма: пробелы и разбор тега `title` (`getSubject`)
- Вёрстка письма: ширина колонок с классом `em-insert-ignore`
- Интеграции: Dotdigital, Klaviyo, ActiveCampaign; URL справки по API-ключу Brevo
- Файловый менеджер: уведомление при дубликате папки (409), прокрутка списка папок в подменю «Переместить», доработки DataSource и копирования; исключение null в FloatingBlocks; обработка загрузки файлов
- Нормализация превью изображений для редактора Pixie и форматов отображения через `normalizeImageFormatForDisplay` в загрузчиках изображений
- Фон текста в письме (DEV-14472)
- Навигация к родительскому элементу кнопки (DEV-14443)
- Открытие центра изображений (DEV-14425)
- Соцблоки: селекторы корневых таблиц, стили форм и `ColorPickerInput`, отступы в `EmailPane` и социальной форме
- Переключение темы; ошибки halt, Sentry и Unisender; вычисление путей в плагине Vite
- Отключена проверка TypeScript в HTML в редакторе Monaco
- Кнопки: единые `height` и `line-height` с переменными темы в `Button.scss`

### Изменено

- Обновлены версии Sentry, файлового менеджера и прочих зависимостей
- Обновлены базовые URL CDN-иконок соцсетей
- Биллинг: упрощение и рефакторинг `BillingPage`, баннеры и кнопки автопродления; замена сборки webhook на `buildLegacyWebhookRequest`; удалены прокси Streamline и Giphy; поддержка кастомного прокси (DEV-14043)
- Общие стили: специфичность шрифтов (`PanelForm`, `common.scss`), стили платёжных кнопок в `BillingBannerModal`
- Компонент `Ribbon` и уведомления; локализация части биллинга и интерфейса
- CI: удалена джоба Allure; настройки `GIT_CLONE_PATH` для тестовых VM

---

## [1.0.109] - 2026-04-07

### Добавлено

- Списки в текстовом редакторе (DEV-12615)
- Учёт настроек AI: отключение запросов диалогов при выключенном ассистенте; расширение контекста для промпта
- Поля subscription в методах логирования (DEV-13876)
- Отправка ошибок из error boundary в статистику

### Исправлено

- Тема письма: обработка пробелов и разбор тега `title` (getSubject)
- Файловый менеджер: уведомление при дубликате папки (409), прокрутка списка папок в подменю «Переместить», доработки DataSource и копирования
- Ссылки в формах: корректные протокол по умолчанию и пустые URL
- Песочница: drag-and-drop и перекрытие кликов (pointer-events)
- Регистрация `applicationElementSettingsSet` и фильтрация путей элементов
- Нормализация превью изображений для редактора Pixie

### Изменено

- Обновлены версии Sentry и зависимостей

---

## [1.0.108] - 2026-03-26

### Добавлено

- Вкладка интеграций в модальном окне проекта
- События data layer при экспорте письма
- Настройка локальной загрузки в центре изображений (`imageCenterLocalUploadEnabled`)

### Исправлено

- Файловый менеджер: отказ от Redux во взаимодействии с FM (DEV-14018, DEV-13858), прокси, фронтовая пагинация, лишняя папка Edited при загрузке
- Редактор и sandbox: iframe contenteditable, вставка пустых списков (DEV-13612), редактирование текста (DEV-13608), удаление с конца блока (DEV-13558), мобильные свойства текста (DEV-13679)
- Кнопка в письме (DEV-13746); иконки выравнивания через `currentColor` (DEV-13790)
- Дублирование уведомлений при отправке тестового письма (DEV-10977)
- Сортировка в таблице проектов (DEV-13759)
- Автосохранение: проверка `revisionService`, `emailId` в revisionToApply

### Изменено

- Таблицы Blocks / Emails / Projects / Members: вёрстка, меню, drag-and-drop на страницах блока и письма
- Webhook в компоненте кнопок письма

---

## [1.0.104-alpha.1] - 2026-03-02

### Добавлено

**Интеграции:**

- Интеграция с Unisender и управление настройками
- Система доступности интеграций для конкретных приложений

**Редактор:**

- Ограничения для бесплатного плана в компоненте ButtonsEmail
- Поддержка mailto ссылок (subject, body) — DEV-13102
- Функциональность массовых блоков
- Сортировка элементов
- Вставка ссылки с нужным цветом — DEV-13172

**AI и UX:**

- AI-функциональность в EmailPageHeader с проверкой оплаты
- Улучшенные анимации модальных окон

**FileManager:**

- Поддержка задания нового имени при копировании файлов и папок
- Очистка кеша

### Исправлено

**Редактор таблиц:**

- Вёрстка выпадающего меню элемента Таблица — DEV-13370
- Работа редактора таблиц — DEV-13371

**Вставка и ссылки:**

- Дублирование тегов при вставке текста — DEV-13293
- Дублирование ссылок при вставке — DEV-13378

**Элементы:**

- Добавление элемента Кнопка в письмо — DEV-13312
- Некорректное отображение настроек маркеров — DEV-13313
- Запрет переноса строки для уведомления — DEV-13143

**Данные и API:**

- Изменения тегов и групп при отправке данных письма — DEV-10189
- Расчёт суммы рекуррентного платежа с `is_only_first_period` — DEV-13377
- Уведомление при ошибке отправки тестового письма
- Локализация в yandexLoginProxyPage
- Проверка истечения JWT токена и обработка 401 ответа

### Изменено

**Рефакторинг sandbox.js → TypeScript:**

- Миграция на модульную структуру с типами и централизованным состоянием
- Модули для обработки событий мыши, клавиатуры, drag-and-drop
- Обработчики настроек элементов (ссылки, переменные, отступы)
- Модули для аккордеонов, кнопок, каруселей, таблиц
- Утилиты для текстового форматирования, стилей и VML

**Интеграции:**

- IntegrationSettings переименован в IntegrationSettingsData
- Unisender интеграция мигрирована на гибкую структуру

**UI:**

- Обновлён layout для BlocksTable и EmailsTable
- Улучшены стили чекбоксов в таблицах

### Тестирование

- Интеграционные тесты для html2Dom, dom2Html и export-пайплайна
- Функциональные тесты для css namespace в dom2Html
- Функциональные тесты html2Dom
- Тесты для функции createWrapper

---

## [1.0.103] - 2026-02-05

_Changelog не документирован_
