Pimcore 2026.3.1: пять мелких правок, которые решают цену владения

Разбор Pimcore 2026.3.1: раздельное хранилище версий, фокальная точка, санитизация классов. Что это даёт каталогу и как планировать обновления.

  • Что вошло в релиз
  • Версии и хранилище
  • Фокальная точка
  • Санитизация описания класса

Что вошло в релиз

  1. Pimcore выпустил точечный релиз 2026.3.1 без громких функций. В нём версии объектов можно хранить в разных хранилищах, загрузку ассетов можно ускорить, а генератор классов начал санитизировать описания.

  2. Такие релизы показывают, во что обходится платформа данных в продакшене.

  3. Полный список изменений опубликован в релизе на GitHub.

  4. Из заметок релиза пять изменений определяют его содержание: -

  5. Для каждого типа элемента (объект, ассет, документ) можно задать своё хранилище версий. Автор правки: @mcop1, PR #19504. -

  6. При загрузке ассета появилась опция не создавать версию (PR #19433, автор @cancan101). -

Фокальная точка

  1. применяется к трансформациям типа cover, где позиционирование не настроено (PR #19470).

  2. Заметку об обновлении для этого перенесли в 2026.3.1 (PR #19505). -

  3. Описание класса санитизируется при генерации PHP-класса модели (PR #19478, раздел security). - В CI зафиксирован конфликт с phpunit 13.4, пока Codeception его не поддерживает (@mcop1).

  4. Ещё ветки обслуживания переведены на 2026.3.

  5. Новых сущностей и переписанных подсистем в релизе нет.

Версии и хранилище

  1. Каждое сохранение объекта или ассета в Pimcore порождает версию.

  2. Возьмём каталог на десятки тысяч SKU с ежедневными импортами из 1С или ERP: версий в нём со временем набираются миллионы.

  3. Это сериализованные данные и копии файлов, которые почти никто не открывает.

  4. Они лежат на том же диске, что и рабочие ассеты, и попадают в те же бэкапы.

  5. Хранилище версий по типу элемента позволяет разделить эти потоки.

  6. Версии объектов небольшие и частые, версии ассетов тяжёлые и редкие.

  7. Для них можно выбрать разные носители и политики хранения: объекты на быстром диске, версии крупных файлов в объектном хранилище.

  8. Опция пропуска версии при загрузке ассета решает соседнюю задачу: массовая заливка фотографий перестаёт создавать копии, которые никому не понадобятся.

  9. Замеров экономии в релизе нет, поэтому процент сокращения объёма заранее назвать нельзя.

  10. Механизм при этом понятен, и проверить его на своём каталоге можно за день: посчитать долю версий в общем объёме хранилища до и после.

Фокальная точка

  1. задаёт область изображения, которую нельзя обрезать.

  2. Для трансформации cover без настроенного позиционирования раньше приходилось вручную настраивать каждую трансформацию или править картинки.

  3. Теперь точка учитывается и без явного позиционирования.

  4. Для интернет-магазина это снижает ручную работу контент-менеджеров на каждом новом баннерном формате.

  5. Выигрыш в часах зависит от числа форматов и картинок в обороте.

  6. Гипотеза для проверки: на каталоге в сотни форматов разница заметна уже в первый цикл обновления витрины.

Санитизация описания класса

  1. Pimcore генерирует PHP-классы моделей из определений, которые редактируются в админке.

  2. Описание класса попадает в сгенерированный файл, и без санитизации поле комментария могло стать точкой внедрения кода. Правка закрывает этот вход.

  3. Вывод шире одной правки: любой пользовательский ввод, который платформа превращает в исполняемый код, входит в поверхность атаки.

  4. Права на редактирование определений классов стоит выдавать так же осторожно, как доступ к деплою.

  5. Если они есть у контент-редакторов или подрядчиков, пересмотрите их независимо от даты обновления.

Разобрать данные и справочники в вашем контуре

CI и phpunit 13.4

Строка про конфликт с phpunit 13.4 выглядит как внутренняя кухня. Мейнтейнеры явно запретили зависимость, которую тестовый фреймворк пока не поддерживает. Если у вас есть собственные Pimcore-бандлы и общий composer.lock, учтите то же ограничение: автообновление dev-зависимостей до 13.4 сломает сборку, пока Codeception не догонит.

Что это значит для бизнеса

  1. Точечный релиз вроде 2026.3.1 редко попадает в планы: показать руководству там нечего.

  2. Но именно такие релизы определяют цену владения платформой.

  3. От них зависит, сколько места занимают версии, сколько часов уходит на ручную правку изображений и кому безопасно давать доступ к настройке моделей. В KT.Team на проектах с Pimcore ветку поддержки обновляют по расписанию.

  4. Раз в квартал берём последний point-релиз, прогоняем регрессионные тесты каталога и импортов и смотрим, что изменилось в хранении и безопасности.

  5. Плановый квартальный цикл обходится дешевле аварийного обновления после инцидента, а риск каждого шага остаётся небольшим.

  6. Те же регулярные процедуры мы закладываем в интеграции Pimcore с 1С, Akeneo и ESB-шинами.

  7. Простая на вид эксплуатация держится на скучных повторяющихся операциях.

Вердикт

  1. Релиз показывает, на что мейнтейнеры зрелой платформы тратят силы: хранилище версий, безопасность генератора, совместимость тестов.

  2. Если в вашем плане обновлений нет строки про point-релизы, технический долг копится и проявится в счёте за хранилище или в инциденте с безопасностью.

  3. Проверьте объём версий в продакшене на этой неделе.

  4. Эта проверка дешевле всех остальных и покажет, нужен ли вам раздельный сторадж.

Источник

Release notes Pimcore 2026.3.1, команда Pimcore и контрибьюторы (@kingjia90, @mcop1, @cancan101): https://github.com/pimcore/pimcore/releases/tag/v2026.3.1. Лицензия проекта: открытая, по условиям репозитория Pimcore.

Обсудить статью: Pimcore 2026.3.1: пять мелких правок,…

Укажите email или телефон, чтобы мы могли вам ответить.

Отправить через: