Что нового в 4.0.1

Версия 4.0.1 собрана от 3.3.0. Версия 4.0.0 не публиковалась, поэтому отдельной записи о ней нет: ниже всё, что изменилось по сравнению с 3.3.0. В 4.0.1 дополнительно уточнены тексты интерфейса настроек — работа плагина при этом не менялась.

Версия в Webasyst Store. На момент подготовки этой страницы в Webasyst Store опубликована версия 3.3.0. Когда 4.0.1 появится в Store, это будет видно на странице плагина.

Если вы обновляетесь с 3.3.0

  1. Сделайте резервную копию базы данных и папок wa-apps/shop/plugins/responsiveimages и wa-data/public/shop/responsiveimages. Не удаляйте плагин «для чистой установки»: удаление стирает таблицы плагина и папку данных.
  2. Проверьте PHP: поддерживаются 8.2–8.5. Установщик Webasyst обновление на более старом PHP не остановит, а библиотеки плагина на нём не загрузятся.
  3. Сбросьте кеш Webasyst (Настройки → Очистить кеш), иначе публичные адреса плагина отвечают ошибкой 500.
  4. Откройте настройки плагина и нажмите «Сохранить»: так обновятся скрипт витрины и новые настройки.
  5. После обновления ничего не включается само: режим обработки остаётся «При просмотре», как в 3.3.0. Фоновая обработка и cron не включаются и не устанавливаются.

Пошаговые инструкции по обновлению и откату — в разделе Установка и обновление.

Важно (безопасность)

В версии 3.3.0 публичный адрес плагина мог отдавать настройки хранилища и токен GigaChat: ключи S3 и токен. В 4.0.1 он отдаёт только список полей, нужных витрине. Установка обновления не делает прежние ключи безопасными. Если вы работали на 3.3.0 с S3 или генерацией alt через GigaChat:

  1. сначала обновитесь и выполните шаги выше;
  2. затем выпустите новые ключи S3 и новый токен GigaChat у провайдера, внесите их в настройки плагина и проверьте работу;
  3. после этого отзовите старые ключи у провайдера.

Подробности — в разделе Безопасность.

Дополнительно: секретный ключ S3 и токен GigaChat больше не передаются на страницу настроек (вместо них показано «Ключ задан»); запросы к GigaChat идут с проверкой TLS-сертификата (корневой сертификат НУЦ Минцифры входит в плагин); страница настроек, «Удалить все созданные изображения» и статистика требуют права на настройки Shop-Script.

Новое

  • Три режима обработки для каждой витрины отдельно: «При просмотре», «Фоновый» и Smart Hybrid. Подробнее — в разделе Режимы обработки.
  • Бюджет на запрос посетителя: время, число изображений и максимальный размер исходника. Что не уместилось, остаётся в очереди, а посетитель видит оригинал.
  • Фоновая обработка через консоль. Плагин cron не устанавливает: расписание настраиваете вы. Запуск защищён от перегрузки (нагрузка сервера, свободное место, предел памяти) и может быть поставлен на паузу.
  • Карантин: изображение, которое не удалось обработать три раза, откладывается на 24 часа.
  • Приоритет по посещаемости (Smart Hybrid): самые посещаемые страницы обрабатываются первыми.
  • Вкладка «Диагностика» (только чтение, обе редакции) и отчёт для поддержки без доменов, путей, ключей и адресов хранилищ. См. Диагностика.
  • Версия в именах файлов: при замене оригинала адрес копии меняется, и браузер, CDN и кеш страниц не покажут старую картинку. Заменённые версии хранятся 30 дней по умолчанию. См. Кеши и CDN.
  • S3: кнопка проверки подключения, настройка «Не отправлять ACL» и «Cache-Control файлов» для файлов с версией в имени. См. Хранилище S3.
  • Retina по плотности экрана (DPR): при выключенной опции «Создать копию изображения в 2x» Retina-изображение темы не заменяется обычным.

Изменено и исправлено

  • Генерация по запросу посетителя ограничена бюджетом; в 3.3.0 ограничения не было.
  • Для нескольких витрин страницы записываются и обрабатываются настройками своей витрины, а не первого домена.
  • WebP и AVIF: в одном теге не смешиваются форматы; клиент без поддержки формата не получает WebP или AVIF.
  • Alt: сгенерированный текст добавляется только тегу без атрибута alt; уже заданный alt (в том числе пустой alt="") не изменяется.
  • Скачивание внешних изображений по HTTPS идёт с проверкой сертификата по системному хранилищу сервера.
  • Готовые изображения больше не перекодируются при каждом просмотре.
  • Исправлены: заниженная оценка памяти при копиях 2x и 3x, повторная обработка на каждом прогоне, рост числа дублей в списке изображений, srcset на Retina-экранах, ошибки команд в S3, удаление устаревших производных файлов (в том числе в S3).
  • Обновлены библиотеки обработки изображений и работы с S3; устранены предупреждения PHP 8.4 и 8.5. Новая библиотека расходует больше памяти.
  • 4.0.1: уточнены тексты интерфейса настроек, редакции называются «Базовая» и «Премиум»; поле «Максимальная ширина» переименовано в «Пропускать изображения шире».

Откат

Откат на 3.3.0 возвращает прежний код, но не исправляет утечку ключей 3.3.0: перед откатом удалите ключ S3 и токен GigaChat из настроек. Порядок отката описан в разделе Установка и обновление.

Просмотр изображения
Оригинал