Dealer API
Добавлена новая группа API-методов для управления абонентами дилера — Dealer API.
С помощью данной группы методов дилер может управлять только своими абонентами, не получая доступа к управлению остальными. API-ключ для доступа к данным методам задаётся на странице создания дилера в панели администрирования.

Также добавлена опция DEALERS_API_NO_DEFAULT_TARIFF_ASSIGN для отключения дефолтного навешивания тарифов при создании абонентов.
Промокоды (актуально для включенного check_accounts)
Доработан механизм работы промокода на подключение бесплатного тарифа — теперь он активирует неактивных аккаунтов при подключении, а также смещает дату деактивации на месяц вперед. Помимо этого была скорректирована работа подключения архивного тарифа через механизм промокода.

Video library and external cinemas
Просмотренность эпизодов
Эпизод считается просмотренным в случае, если его последняя сохраненная позиция просмотра близка к его длительности — для расчёта ранее использовалась длительность, указанная у ассета, в этом релизе добавили фоллбэк для получения данной длительности у эпизода при её отсутствии у ассета.
Импорт меты из внешнего источника
Оптимизировали импорт меты для фильмов и сериалов с большим количеством актёров — теперь загружаются не все персоны, а только фиксированное количество, которое можно регулировать новыми опциями TVMW MDB LIMIT MAX ACTORS and TVMW MDB LIMIT MAX DIRECTORS.
Запланированные эпизоды
У серий сериалов добавлен новый флаг «Запланированный эпизод» — с помощью него можно будет создавать ещё невышедшие эпизоды сериалов и отображать их в интерфейсе. А также данный функционал поддержан в интеграции с кинотеатром START.
На данный момент функционал ещё не поддерживается в общедоступных шаблонах.
Подписки и доступ к фильмам
- Скорректирована работа внутренних подписок с типом «Аренда».
- Для вычисления доступности внутренних фильмов добавлен учёт устройств, выставленных у стриминг-сервисов.
- Обработано состояние недоступности внешнего кинотеатра: в случае ошибки отписки от внешнего кинотеатра подписка на стороне Smarty останется открытой.
Оптимизация скриптов создания и очистки архивных фильмов
Оптимизирована работа менеджмент-команд make_vodpvr and clean_vodpvr — по времени выполнения и по объёму занимаемой оперативной памяти.
Улучшения команд импорта фильмов Premier и Viju
Для команды импорта Premier добавлены фоллбэки на случай временной недоступности отдельных запросов — retry-механизмы. Для команды Viju скорректирована загрузка некоторых типов изображений как из самого кинотеатра, так и из внешней системы получения меты — tmdb.
Механизмы авторизации
- A new option added
TVMW_REMOVE_BASIC_SESSION_ON_LOGOUTдля удаления базовых сессий при логауте. - При авторизации по IP теперь отдается приоритет аккаунту с наименьшим пулом указанных IP-адресов (более точной подсетью), а не последнему обновлённому, как было ранее.
- Добавлена новая опция конфигурации, которая включает детальное логирование создания и удаления сессий —
TVMW LOG AUTHKEY CHANGE. - А также расширено логирование метода, отвечающего за отправку сообщений и обновление статуса аккаунта в приложении.
Adminka
Проведена обширная работа с отчётом по действиям абонентов:
- исправлена работа фильтра «Тип» при его генерации;
- добавлен фильтр по типу устройства, которое есть в привязанных у абонента;
- расширен контекст у действия «Данные изменены» — теперь указывается, какие именно данные были изменены в рамках этого действия.

Проведён рефакторинг страницы редактирования видео:
- графика и персоны вынесены в отдельные блоки;
- на страницу добавлена новая графика: логотип фильма, горизонтальный постер с текстом (используется для лент дашборда в интерфейсе Titanium) и вертикальный постер без текста (используется для слайдера в мобильном приложении).

Добавлена сортировка видеопровайдеров, которая влияет на порядок отдачи провайдеров на стороне приложения.

В поле поиска абонента при создании аккаунта теперь показывается его идентификатор.

Из графика по тарифам во вкладке «Динамика абонентов» теперь есть возможность исключать скрытые, архивные и бесплатные тарифы.

- Добавлена возможность отключения автоплатежа без удаления всех карт абонента.

- Добавлена удобная смена источника для потоков Spectr и Micromanager.
- Исправлена кодировка кириллицы для JSON-полей в админке.
- Исправлены проблемы отображения иконок каналов в админке.
TVMW API
- In method
PortalSettingsListadded a new response parameterrandom_uuid4. - New method added
CustomerAutopaymentToggle. - In response to method
CustomerInfoV2fieldautopayment_enabled. - In method
AccountTargetBannerListисправлена ошибка получения баннера для абонента с датой рождения 29.02, если запрос происходит в невисокосный год. - In response to methods
NoAuthportalDashboardListandPortalDashboardListfieldcover. - In response to method
NoAuthPortalClientTariffListfieldediconandmeta. - New method added
AccountChannelsSortдля обновления пользовательской сортировки каналов. - In response to method
NoAuthVideoEpisodeListдобавлены флагиis_freeandis_planned. - In response to method
Video EpisodeListflagis_planned. - Для методов без авторизации исправлена проверка
clientandapi_key— теперь при их некорректности возвращается ошибка с кодом 403. - In response to method
VideoDetailдля action типаbuy_in_subscriptionfieldtariff_id. - Methods
NoAuthportalDashboardVideoList,PortalDashboard VideoListandNoAuthSelectionDetailinput parameters addedexclude_tariff_idandtariff_id.
Content API
- Added field
is_plannedmethodicallyEpisodeCreateandEpisode Modify. - In method
ActorListдобавлены параметры для фильтрации и сортировки:order,type,movie_idandcountry.
Billing API
- Скорректирована работа метода
AccountDeviceCreate: если устройство с данным UID уже есть у данного аккаунта, то у него просто обновляются переданные поля. - In response to methods
CustomerListandCustomerInfofieldautopayment_enabled.
Оптимизация работы с Redis
- Добавлено дополнительное обновление кэша при обновлении стриминг-сервиса у телеканала.
- Скорректировано время жизни ключей кеша для программ передач.