# Changelog

All notable changes to this project are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

---

## [1.0.117] - 2026-04-07

### Added

- Bulleted lists in the rich text editor (DEV-12615)
- Anchor links
- Billing page and UX: limits (`limitsApi`), usage stats, paywall and limit upgrade modals (`LimitUpgradeModal`, including `image_generate` overage), left-menu tariff widget (`MenuTariffWidget`): trial, subscription, auto-renew (DEV-11223 and related work)
- Billing modals: plan checkout choice (`PlanCheckoutChoiceModal`), legal-entity invoice request with prefilled fields and hidden-field sync (`TariffInvoiceRequestModal`)
- Social blocks overhaul: drag-and-drop, settings tooltips, custom icons; VK platform (`vkv`); contrast and atom/cell backgrounds; delete control in the social form; CDN URL updates and icon URL generation (DEV-13666 and related fixes)
- Text formatting options in `SelectedTextCommonForm`
- `commonStyles` in iframe and deep merging of content styles; panel padding refinements
- Strip `width` and `max-width` from images in non-responsive emails (`stripImageWidthForNonResponsive`)
- Explicit content-column width checks in multi-column layouts and correct block width recalculation

### Fixed

- Email subject: whitespace handling and `title` tag parsing (`getSubject`)
- Email layout width for columns with the `em-insert-ignore` class
- Integrations: Dotdigital, Klaviyo, ActiveCampaign; updated Brevo API key help URL
- File manager: duplicate folder notification (409), scrollable folder list in the Move submenu, DataSource and copy flow updates; null crash in FloatingBlocks; file upload handling
- Thumbnail normalization for the Pixie image editor and display formats via `normalizeImageFormatForDisplay` in image loaders
- Text background in the email (DEV-14472)
- Navigate to the button parent element (DEV-14443)
- Image center fails to open (DEV-14425)
- Social blocks: root-table selectors, form and `ColorPickerInput` styling, spacing in `EmailPane` and the social form
- Theme switching; halt errors with Sentry and Unisender; path computation in the Vite plugin
- Disabled TypeScript checking for HTML in the Monaco editor
- Buttons: unified `height` and `line-height` tied to theme variables in `Button.scss`

### Changed

- Sentry, file manager, and other dependency version bumps
- Updated base URLs for social network icon CDNs
- Billing: streamlined/refactored `BillingPage`, banners and auto-pay buttons; webhook build switched to `buildLegacyWebhookRequest`; removed Streamline and Giphy proxies; custom proxy support (DEV-14043)
- Shared styles: font specificity (`PanelForm`, `common.scss`), payment button styling in `BillingBannerModal`
- `Ribbon` component and notifications; billing and UI localization updates
- CI: removed redundant Allure report job; `GIT_CLONE_PATH` for test VM jobs

---

## [1.0.109] - 2026-04-07

### Added

- Bulleted lists in the rich text editor (DEV-12615)
- AI settings: skip dialog queries when the assistant is disabled; richer context for the AI prompt
- Subscription fields in logging methods (DEV-13876)
- Error boundary errors reported to analytics

### Fixed

- Email subject: whitespace handling and `title` tag parsing (getSubject)
- File manager: duplicate folder notification (409), scrollable folder list in the Move submenu, DataSource and copy flow updates
- Link forms: default protocol and empty URL handling
- Sandbox: drag-and-drop and click layering (pointer-events)
- `applicationElementSettingsSet` registration and element path filtering
- Thumbnail normalization for the Pixie image editor

### Changed

- Sentry and dependency version bumps

---

## [1.0.108] - 2026-03-26

### Added

- ESP integrations: Mailchimp, Klaviyo, HubSpot, Salesforce Marketing Cloud, ActiveCampaign, Brevo, Campaign Monitor, Constant Contact, GetResponse, Bento, Dotdigital
- Integrations tab in the project edit modal
- Data layer events for email export
- `imageCenterLocalUploadEnabled` for local uploads in the image center

### Fixed

- File manager: Redux removed from FM integration (DEV-14018, DEV-13858), proxy and front-end pagination, stray Edited folder on upload
- Editor and sandbox: contenteditable iframe, empty list insertion (DEV-13612), text editing (DEV-13608), delete-from-end in blocks (DEV-13558), mobile text properties (DEV-13679)
- Email button issues (DEV-13746); alignment icons use `currentColor` (DEV-13790)
- Duplicate notifications when sending a test email (DEV-10977)
- Sorting in the projects table (DEV-13759)
- Autosave: `revisionService` guard and `emailId` in revisionToApply

### Changed

- Blocks / Emails / Projects / Members tables: layout, menus, drag-and-drop on block and email pages
- Webhook handling in the email buttons component
- Dotdigital and ActiveCampaign integration improvements (drafts)

---

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

### Added

**Integrations:**

- Unisender integration and settings management
- App-specific integration availability system

**Editor:**

- Free plan restrictions in ButtonsEmail component
- mailto link support (subject, body) — DEV-13102
- Mass blocks functionality
- Element sorting
- Insert link with correct color — DEV-13172

**AI & UX:**

- AI functionality in EmailPageHeader with payment verification
- Improved modal animations

**FileManager:**

- Support for custom names when copying files and folders
- Cache clearing

### Fixed

**Table Editor:**

- Dropdown menu layout for Table element — DEV-13370
- Table editor functionality — DEV-13371

**Paste & Links:**

- Tag duplication when pasting text — DEV-13293
- Link duplication when pasting — DEV-13378

**Elements:**

- Adding Button element to email — DEV-13312
- Incorrect marker settings display — DEV-13313
- Line break restriction for notifications — DEV-13143

**Data & API:**

- Tag and group changes when sending email data — DEV-10189
- Recurring payment calculation with `is_only_first_period` — DEV-13377
- Notification on test email send error
- Localization in yandexLoginProxyPage
- JWT token expiration check and 401 response handling

### Changed

**sandbox.js → TypeScript Refactoring:**

- Migration to modular structure with types and centralized state
- Modules for mouse, keyboard, and drag-and-drop event handling
- Element settings handlers (links, variables, padding)
- Modules for accordions, buttons, carousels, tables
- Utilities for text formatting, styles, and VML

**Integrations:**

- IntegrationSettings renamed to IntegrationSettingsData
- Unisender integration migrated to flexible structure

**UI:**

- Updated layout for BlocksTable and EmailsTable
- Improved checkbox styles in tables

### Testing

- Integration tests for html2Dom, dom2Html, and export pipeline
- Functional tests for css namespace in dom2Html
- Functional tests for html2Dom
- Tests for createWrapper function

---

## [1.0.103] - 2026-02-05

_Changelog not documented_
