# Changelog

История изменений MADS Web SDK, важных для паблишеров.

Файлы `wrapper.js` и `main.js` распространяются через CDN-канал `current/`, который всегда указывает на последнюю выпущенную версию. Если нужна конкретная версия — обратитесь к команде Magnit Ads.

Формат: `[версия] — дата`. Изменения сгруппированы по типу: **Добавлено**, **Изменено**, **Исправлено**. Здесь только то, что влияет на интеграцию на сайт. Внутренние и киосковые изменения не публикуются.

---

## Канал `current/` (после v0.1.76)

### Добавлено
- Опция `userId` в конфиге `MadsPlayer` — идентификатор пользователя уходит в запрос ad-сервера. Подробнее — [Быстрый старт](publishers.md#3-конфигурация).

---

## [v0.1.76] — 2026-08-28

### Добавлено
- Бегущая строка: при `templateGroupName: multiformat` и `displayOptions.format: 'RunningLine'` SDK показывает горизонтальную полосу с картинкой (90 px на широких экранах, 60 px на узких). Подробнее — [Форматы](formats.md#бегущая-строка-runningline).

### Изменено
- У карусели peek соседнего слайда («уши») показывается только на узких экранах без стрелок. Ширина ушей фиксированная, поле `earsWidth` из ответа ad-сервера игнорируется.

---

## [v0.1.71] — 2026-08-17

### Добавлено
- Формат `modalwindow` — overlay поверх страницы (`auto` / `bottomSheet` / `cornerFloat` / `fullscreen`). Закрытие крестиком или Escape вызывает `onSkipped`; `onCompleted` у модалки нет. Подробнее — [Форматы](formats.md#modalwindow).

---

## [v0.1.38] — 2026-06-04

### Добавлено
- Media overlay на видеокреативах: плашка поверх ролика и postview-карточка после него. Включается данными креатива с ad-сервера, в конфиге паблишера ничего задавать не нужно. Подробнее — [Форматы](formats.md#video).

---

## [v0.1.28] — 2026-04-23

### Добавлено
- Поддержка карусельного формата рекламы: одиночный слайд (1x1), мультиформатные сетки (2x1, 3x1, 4x1, 5x1, 6x1) и классическая карусель
- Автопрокрутка карусели с настраиваемым интервалом
- Навигация по слайдам: стрелки, точки пагинации, свайп и перетаскивание
- Заголовок и подзаголовок карусели
- Анимация загрузки перед появлением креатива
- Каждый слайд карусели отправляет независимые события показа и видимости

### Изменено
- Поле markingInfo в элементах креатива теперь опциональное
- В ответе визита появилось поле header с заголовком и подзаголовком
- Структура displayOptions зависит от формата: для карусели содержит настройки размера, автопрокрутки, скругления углов и отступов между слайдами
- Видеоплеер при размонтировании прекращает сетевую загрузку, чтобы не тратить трафик
- Тултип рекламной маркировки больше не обрезается у границ плеера

### Исправлено
- Падение обработчика ошибок при системных ошибках без объекта error
- Видеоплеер корректно сообщает об ошибках при зависании и прерывании загрузки

---

## [0.1.25] — 2026-04-09

### Исправлено
- Поправлена обработка CORS при запросе ad-сервера.
- Исправлен URL ICM-интеграции.

---

## [0.1.23] — 2026-04-09

### Добавлено
- Новый блок маркировки (ОРД) с обновлённым визуальным оформлением и позиционированием относительно креатива.

### Изменено
- Обновлена логика отправки кликов, пикселей и телеметрии.

---

## [0.1.22] — 2026-04-08

### Добавлено
- **SDK mode** (`mode: 'sdk'`) — программное управление воспроизведением через методы `play()`, `pause()`, `resume()`, `stop()`, `skip()`, `mute()`, `destroy()`. Команды буферизуются до готовности iframe. Подробнее — [Быстрый старт](publishers.md#6-sdk-mode--программное-управление).
- Опция `loop: true` — зацикливание плейлиста в default-режиме.
- Опция `customUrl` — переопределение endpoint ad-сервера.

### Изменено
- Улучшен ресайз: плеер корректнее ужимается под ширину родителя и учитывает `max-height`.

---

## [0.1.21] — 2026-04-03

### Добавлено
- Полноценная поддержка статичных креативов (изображений) в `multiformat` ленте — теперь видео и картинки могут смешиваться в одном плейлисте.

---

## [0.1.19] — 2026-03-25

### Изменено
- Кеширование пикселей: одни и те же URL не отправляются повторно в рамках одного креатива (для событий с дедупликацией).

---

## [0.1.18] — 2026-03-24

### Добавлено
- Базовый блок маркировки (ОРД) `markingInfo` — отображение метки «Реклама» с ERID на креативах, которым ad-сервер вернул соответствующие данные.

---

## [0.1.16] — 2026-03-06

### Добавлено
- Формат `video` — отдельный полноэкранный видеоплеер для классической видеорекламы (см. [Форматы](formats.md)).

---

## [0.1.12] — 2026-02-27

### Изменено
- Внутренняя стейт-машина плеера переписана. На API паблишера это не влияет, но порядок срабатывания колбэков жизненного цикла стал более предсказуемым.

---

## [0.1.11] — 2026-02-25

### Изменено
- Улучшен жизненный цикл креатива: корректные переходы `loading → ready → playing → ended`, более точные моменты вызова `onReady`/`onPlayed`/`onCompleted`.

---

## [0.1.9] — 2026-02-18

### Добавлено
- Формат `multiformat` — лента из нескольких креативов с плавными переходами между ними.

---

## [0.1.7] — 2026-02-16

### Добавлено
- Телеметрия SDK — внутренние события отправляются в `mads-track.magnit.ru` для мониторинга качества доставки. Не требует настройки со стороны паблишера.

---

## [0.1.4] — 2026-02-12

### Добавлено
- `EventPixelSender` — отправка пикселей аналитики с поддержкой условных пикселей (`value`/`pvalue`/`viewablePercent`), макроподстановок и beacon-fallback при закрытии вкладки. Подробнее — [События и трекинг](events-and-tracking.md).

---

## [0.1.0] — 2026-01-27

### Добавлено
- Первая публичная версия SDK: `window.MadsPlayer(config)`, default-режим с автоплеем по видимости, базовые колбэки `onReady` / `onPlayed` / `onPaused` / `onResumed` / `onCompleted` / `onSkipped` / `onClicked` / `onStopped` / `onError`, сервис `Visit` для запроса креативов с ad-сервера.
