Платформа развивается

Обновления платформы

Мы постоянно улучшаем платформу и решения: выходят новые возможности, интеграции и исправления.

Недавно обновлённые пакеты.
90
обновлений за последние 30 дней
395
обновлений в 2026 году
3974
релиза выпущено всего
96
пакетов обновляются и поддерживаются

Октябрь 2026

SkeekS Магазинv3.2.7.30

Исправлена ошибка запуска сайтов, на которых одновременно установлены магазин и модуль хостинга SkeekS (cms-shop 3.2.7.27–3.2.7.29 вместе с cms-hosting 2.6.6–2.6.7): такая конфигурация не собиралась из-за конфликта настроек раздела «Фоновые операции».

Отчёт полной сверки товаров, брендов и коллекций GPD теперь подключается в описании самого задания и работает вместе с отчётами других модулей. Внешний вид отчёта, автоматическое обновление таблицы этапов, а также журнал, отмена и повтор операции не изменились. Проекту ничего настраивать не нужно.

Требуется cms-job 1.4.0 или новее. Миграций БД нет, товары и настройки не изменяются.

Фоновые заданияv1.4.0

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

  • Отчёт подключается в описании типа задания свойством report. Подменять контроллер раздела «Фоновые операции» больше не нужно.
  • Отчёты разных пакетов работают одновременно и не конфликтуют, проекту ничего настраивать не нужно.
  • Отчёт выводится над стандартной карточкой: статус, журнал, логи, отмена и повтор остаются на месте.
  • Подробности отчёта обновляются на открытой странице автоматически. Обычное обновление списков операций не нагружается лишними данными, сведения других сайтов не показываются.
  • В README добавлен раздел «Свой отчёт в карточке операции» с примером.

Проверено на локальной установке: отчёт массового обновления сайтов, обновление подробностей и стандартная карточка операций без отчёта.

Миграций БД нет, перезапуск воркеров не требуется. Типы заданий без отчёта работают как раньше.

СДЭКv2.2.2

Исправлена загрузка тарифов курьерской доставки СДЭК при переключении с пункта выдачи.

Теперь после выбора города и заполнения адреса доступные тарифы появляются автоматически. Не нужно перезагружать страницу, повторно выбирать город или нажимать отдельную кнопку расчёта. Достаточно закончить ввод: форма сохраняет адрес после короткой паузы, даже если курсор остаётся в последнем поле.

При изменении адреса прежний список тарифов сбрасывается и обновляется для новых данных. После выбора тарифа рассчитанная стоимость включается в итог заказа. Дополнительные сведения для курьера — подъезд, этаж и комментарий — также сохраняются автоматически.

Исправление проверено на действующем сайте: открытие корзины с выбранным ПВЗ, переход на курьерскую доставку, первое заполнение адреса, выбор тарифа и обратное переключение на карту пунктов выдачи.

СДЭКv2.2.1

Исправлено переключение между курьерской доставкой СДЭК и пунктами выдачи в корзине.

  • При переходе с курьерской доставки на ПВЗ карта открывается без перезагрузки страницы.
  • При переходе с ПВЗ на курьерскую доставку доступные тарифы загружаются автоматически после заполнения адреса.
  • Скрытая карта по-прежнему выгружается и не замедляет работу с курьерской формой.

Обновление рекомендуется для магазинов, использующих оба способа доставки СДЭК. Настройки доставки менять не требуется.

СДЭКv2.2.0

В модуле СДЭК появилась курьерская доставка до адреса покупателя. Теперь магазин может предложить в корзине два отдельных способа получения: доставку в пункт выдачи и доставку курьером.

Что изменилось для покупателей
  • Доставка до двери. Покупатель выбирает город, указывает улицу и дом. При необходимости можно добавить квартиру или офис, подъезд, этаж и комментарий курьеру.
  • Удобный поиск города. Подсказки из справочника СДЭК появляются в выпадающем списке уже после двух введённых букв. В названии указан регион, чтобы было проще выбрать нужный населённый пункт.
  • Расчёт без лишних действий. После заполнения адреса доступные тарифы со стоимостью и сроками загружаются автоматически. Покупатель выбирает тариф — доставка добавляется к итоговой сумме заказа.
  • Актуальная стоимость. При изменении количества или состава товаров выбранный тариф пересчитывается автоматически. Если тариф становится недоступен, покупатель видит сообщение и должен выбрать доступный вариант перед оформлением заказа.
Новые настройки для магазина

В настройках способа доставки СДЭК можно выбрать:

  • Как покупатель получает заказ: в пункте выдачи или курьером до двери.
  • Как отправление передаётся СДЭК: магазин сдаёт его в пункт СДЭК либо курьер забирает у отправителя.

В корзине будут предложены только тарифы, подходящие выбранной схеме: «склад → склад», «склад → дверь», «дверь → склад» или «дверь → дверь». В названиях тарифов «склад» означает пункт СДЭК, а «дверь» — адрес отправителя или получателя.

Чтобы предложить оба варианта получения, создайте два способа доставки с обработчиком СДЭК и настройте каждый отдельно. Для расчёта по тарифам включите настройку «Выбирать тарифы при выборе пункта» — она также действует в курьерском режиме. При отключённой настройке используется фиксированная стоимость способа доставки.

Совместимость и работа корзины

Существующие способы доставки после обновления сохраняют режим ПВЗ и прежние настройки. Курьерская доставка включается отдельно. Карта пунктов выдачи выгружается при переходе на другой способ доставки; курьерская форма работает без загрузки карты.

Адрес и дополнительные указания покупателя сохраняются в заказе. Обновление отвечает за выбор и расчёт доставки; создание накладной СДЭК и вызов курьера выполняются отдельно.

SkeekS Магазинv3.2.7.29

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

При выборе одного или нескольких складов каждый товар отображается один раз. Также устранены возможные повторы при поиске по модификациям. Фильтры, цены, сортировка и группировка модификаций сохранены.

Товары, остатки и связи не изменяются. Обновление исправляет только отображение списка.

SkeekS Магазинv3.2.7.28

Теперь изменения брендов и коллекций отображаются в ленте активности: создание, редактирование, отключение на сайте и удаление. История пополняется как при ручной работе, так и при автоматическом обновлении каталога.

Названия связанных брендов, стран и изображений показаны в понятном виде. Счётчики просмотров и другие служебные изменения не засоряют ленту, а отменённые изменения не остаются в истории.

История ведётся с момента обновления — прежние события задним числом не добавляются.

SkeekS Магазинv3.2.7.27

Добавили полную сверку каталога GPD: она проверяет товары, затем коллекции и бренды, учитывая настройки синхронизации сайта. Сверка доступна для ручного запуска в расписаниях и выполняется раз в 30 дней.

Для брендов и коллекций появились отдельные настройки «Объект исключён из API»: оставлять, деактивировать, удалять при отсутствии связанных данных или «Удалять, включая сохранённые фильтры». По умолчанию выбран режим «Оставлять».

Если у бренда или коллекции остался хотя бы один товар, объект сохраняется без удаления и деактивации. Это относится и к товарам, созданным вручную, неактивным карточкам и товарам со складским учётом. При разрешённом удалении пустого бренда сначала удаляются его сохранённые фильтры. Товары, заказы и документы такая очистка не удаляет. Само отсутствие активных товаров не служит причиной удаления.

В отчёте сверки показаны три последовательных этапа, количество проверенных, удалённых, деактивированных и сохранённых объектов, а также причины, требующие уточнения. Основные счётчики видны и в списке расписаний.

Старые связи проверяются пакетами по 20 объектов с паузой в одну секунду. Маркет подтверждает исключения через API v2 в тех же запросах, без дополнительных обращений. Ошибка API или неподтверждённый статус не разрешают удаление.

Для проверки старых связей нужен обновлённый сервер API v2. Первую полную сверку нескольких сайтов рекомендуется запускать последовательно: ограничение нагрузки действует отдельно для каждого сайта. Перед обновлением проверьте настройки удаления и сохраните резервную копию базы. Исправлена также проверка структуры таблицы при автоматическом переходе на расписания GPD.

СДЭКv2.1.5

СДЭК: центр карты по координатам и быстрый выбор города

Добавили возможность задать начальное положение карты СДЭК без обращения к геокодеру. Теперь карта может сразу открываться в нужном месте по сохранённым координатам, без преобразования названия города в точку на карте.

Удобная настройка центра карты

В настройках доставки появились необязательные поля «Широта центра карты» и «Долгота центра карты» с пояснениями, зачем они нужны. Заполненные координаты имеют приоритет над названием города. Можно указать центр города, район или другую удобную точку.

Готовые города в один клик

Добавили кнопки для 12 городов: Москвы, Санкт-Петербурга, Рязани, Калуги, Нижнего Новгорода, Казани, Екатеринбурга, Новосибирска, Самары, Краснодара, Ростова-на-Дону и Воронежа. Нажатие подставляет город, широту и долготу — остаётся сохранить настройки.

Если один из этих городов уже указан в настройках, его сохранённые координаты используются автоматически, даже когда новые поля пусты. Для остальных городов без координат сохраняется определение по названию. Если город не указан, карта открывается в Москве.

Покупатель свободно выбирает пункт

Координаты задают только начальный центр карты. Покупатель может перемещать её, менять масштаб и выбирать пункты в других городах. Город отправки и правила расчёта стоимости доставки не меняются.

Что важно знать

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

СДЭКv2.1.4

СДЭК: более быстрая загрузка карты пунктов выдачи

Улучшили работу карты СДЭК в корзине. Теперь при её открытии загружаются пункты выдачи только для видимой области, а не полный список. Это уменьшает объём данных и нагрузку на браузер, особенно на телефонах и при медленном интернете.

Карта подгружает пункты по мере просмотра

При перемещении карты и изменении масштаба список пунктов обновляется для новой области. Быстрые движения объединяются, чтобы не отправлять лишние запросы. Поиск другого города также загружает пункты в выбранной области.

Расчёт доставки работает как прежде

Покупатель выбирает пункт и, если включён расчёт, подходящий тариф. Стоимость автоматически обновляется при изменении состава корзины. После подтверждения пункта карта выгружается и не замедляет изменение количества товаров. При повторном открытии используются актуальные данные корзины.

Обновление не требует новых настроек

Оба режима сохранены: выбор пункта с фиксированной стоимостью и выбор пункта с расчётом тарифа. Для включения новой загрузки карты достаточно обновить модуль СДЭК до версии 2.1.4. Требуется модуль магазина skeeks/cms-shop версии 3.2.7.26 или новее.

СДЭКv2.1.3

СДЭК: автоматический пересчёт доставки и более лёгкая корзина

Обновили модуль СДЭК, чтобы покупатель видел актуальную стоимость доставки при изменении заказа, а скрытая карта не замедляла работу с корзиной.

Два режима доставки

В настройках СДЭК появился переключатель «Выбирать тарифы при выборе пункта»: — Нет: покупатель выбирает только пункт выдачи, а стоимость берётся из фиксированного поля варианта доставки. Этот режим установлен по умолчанию. — Да: покупатель выбирает пункт и тариф на карте, а стоимость доставки рассчитывается для его корзины.

Стоимость обновляется автоматически

При изменении количества, добавлении или удалении товара доставка пересчитывается для выбранного пункта и тарифа. Расчёт также проверяется при возвращении в корзину и перед оформлением заказа. Если при окончательной проверке цена изменилась, покупатель увидит новый итог и сможет проверить его перед повторным оформлением.

Если выбранный тариф недоступен или СДЭК не смог рассчитать доставку, в корзине появится красное сообщение. Оформление будет остановлено до успешного расчёта или выбора другого способа доставки.

Карта загружается только тогда, когда нужна

После выбора пункта карта выгружается. Изменение количества товаров больше не запускает скрытую карту: стоимость обновляется на сервере. При нажатии «Выбрать другой пункт» карта загрузится с актуальным составом корзины. Открытая карта также обновляется при изменении товаров; незавершённый выбор потребуется повторить.

Что учесть при обновлении

Для расчёта тарифов установите модуль СДЭК 2.1.3 вместе с модулем магазина 3.2.7.26 или новее и включите «Выбирать тарифы при выборе пункта». После обновления проверьте этот переключатель: прежняя настройка «Рассчитывать цену по выбранному ПВЗ» больше не включает расчёт тарифов.

Для расчёта используются вес и размеры товаров, поэтому заполните их в каталоге. Автоматический расчёт поддерживает рубли. Если в старой корзине пункт был сохранён без кода тарифа, покупателю потребуется один раз выбрать пункт и тариф заново.

SkeekS Магазинv3.2.7.26

Автоматическое обновление стоимости доставки

Добавили в модуль магазина общий механизм пересчёта доставки при изменении корзины. Подключённые к нему службы могут обновлять стоимость после добавления и удаления товаров, изменения количества и возвращения покупателя в корзину.

Перед оформлением магазин повторно проверяет стоимость доставки. Если расчёт не выполнен, оформление останавливается. Если цена изменилась, покупатель получает обновлённый итог и должен подтвердить его повторным оформлением. Стоимость доставки уже оформленных заказов сохраняется.

Первым этот механизм использует обновлённый модуль СДЭК 2.1.3. Фиксированные способы доставки продолжают работать как прежде. Для других служб, включая Boxberry, предусмотрен общий механизм подключения; их расчёт необходимо реализовать в соответствующем модуле.

Сентябрь 2026

Экспорт в Яндекс Маркетv1.3.1

Исправлена выгрузка товаров с символом & в брендах, артикулах и характеристиках. Добавлена фильтрация по остатку с общим порогом и исключениями для отдельных единиц измерения.

  • XML-текст экранируется один раз. Ошибка при формировании товара больше не оставляет в файле незавершённый <offer>.
  • В разделе «Фильтрация» появилось поле «Количество больше (для всех единиц)» и кнопка «+ Добавить условие для единицы».
  • Условие для конкретной единицы заменяет общий порог. Например: общий порог 50, для шт — 5, для м² — 100. Тогда выгружаются штучные товары с остатком > 5, товары в м² с остатком > 100, остальные — с остатком > 50.
  • Остатки суммируются по выбранным складам; без выбора — по всем складам. Проверяется основная единица товара, без пересчёта в упаковки. Пустой общий порог отключает общее ограничение; существующие задачи без новых настроек сохраняют прежнюю выборку.
  • Товары без положительной выгружаемой цены или фото пропускаются с причиной в предупреждении. Для выбранного типа цены проверяется именно эта цена. Отсутствие базовой цены не мешает экспорту; oldprice добавляется только при её наличии.
  • Для числовой характеристики без единицы измерения атрибут unit не добавляется.

Требуется skeeks/cms-export версии 1.1.1 или новее в ветке 1.x либо dev-master.

Проверено: 28 изолированных регрессионных проверок, синтаксис всех изменённых PHP-файлов, добавление/удаление условий и мобильный вид формы. Пробный экспорт исходной выборки на plitka-lab.ru: 14 960 товаров, 0 ошибок XML, 11 явных пропусков (6 без цены, 5 без фото). После настройки фильтров боевой запуск №52038 завершился успешно: 6 980 товаров, 0 ошибок и 0 пропусков; опубликованный XML проверен.

Экспорт данныхv1.1.1

Добавлен отдельный учёт товаров, которые нельзя выгрузить из-за отсутствия обязательных данных.

  • Новый метод ExportResult::itemSkipped($id, $reason) сообщает о пропуске товара.
  • При выполнении через cms-job увеличиваются счётчики пропусков и обработанных товаров; причина и идентификатор товара сохраняются в предупреждении.
  • Пропущенные товары не учитываются как успешные. Неожиданные сбои по-прежнему остаются ошибками.
  • Старые обработчики сохраняют прежнее поведение. Потребители нового метода должны обновлять базовый результат и адаптер ExportJobResult вместе.

Проверено: синтаксис PHP, регрессионные проверки счётчиков и боевой экспорт на plitka-lab.ru.

Экспорт в Яндекс Маркетv1.3.0

1.3.0 — Прогресс фонового экспорта Яндекс Маркета

Обработчик интегрирован с фоновым экспортом cms-export 1.1.

  • Передаются общее количество товаров, прогресс, успешные позиции и ошибки отдельных товаров.
  • Добавлены проверки отмены и состояния задания между товарами.
  • XML формируется во временном файле и публикуется атомарной заменой: предыдущий файл доступен до завершения нового экспорта.

Требуется cms-export версии 1.1 или выше. При обновлении подключите канал exports к диспетчеру и перезапустите воркеры.

Проверено на newceramica.ru: 5119 товаров обработаны успешно, у двух отсутствуют фотографии. Файл сформирован после закрытия вкладки.

Экспорт данныхv1.1.0

1.1.0 — Экспорт через очередь с прогрессом и расписанием

Все штатные запуски экспорта переведены в фоновые задания cms-job. Закрытие страницы или браузера больше не прерывает экспорт.

  • Запуск, прогресс и результат доступны в списке экспортов; запуск из формы редактирования убран.
  • Команда cmsExport/execute/task ID сохранена и теперь ставит задание в очередь; существующие командные расписания продолжают работать.
  • Новые расписания создаются выбором сохранённой настройки экспорта.
  • Добавлены защита от повторного запуска одного экспорта и блокировка общего выходного файла.
  • Старый синхронный HTTP-обработчик отключён и возвращает 410.
  • Название в таблице приведено к стандартному оформлению сущностей.

Обновление: требуется cms-agent версии 3.3 или выше и cms-job. Добавьте канал exports в список каналов диспетчера и перезапустите воркеры. Миграции базы данных не требуются. Для подробного прогресса и отмены пользовательские обработчики должны использовать новые методы ExportResult.

Проверены старая команда, защита от дублей, расписания, отмена и счётчики ошибок. На newceramica.ru подтверждено завершение экспорта после закрытия вкладки.

Расписанияv3.3.0

3.3.0 — Выбор настроек фонового задания в расписании

При создании расписания теперь можно выбрать сохранённую настройку операции из списка. Для экспорта отображаются настройки текущего сайта, а название расписания заполняется автоматически.

  • Добавлен интерфейс поставщиков настроек JobTargetProviderInterface.
  • Параметры задания формируются и проверяются на сервере с учётом сайта.
  • Для остальных типов сохранён ввод JSON и возможность отключения некорректного расписания.
  • Исправлены отступы поля выбора настройки.

Проверены сохранение и восстановление выбора, изоляция сайтов и постановка задания из расписания.

SkeekS CMSv6.4.9.32

Страница «Мои задачи» и календарь сотрудника теперь сразу открываются на текущем дне, а не в начале длинного списка просроченных задач.

После перезагрузки страницы — закрытия окна задачи после сохранения, «Сохранить порядок задач», F5 — и при переходе назад/вперёд возвращается прежняя позиция прокрутки. Штатное восстановление скролла браузером на длинном списке срабатывало ненадёжно, теперь позиция хранится в sessionStorage.

Проверено локально под пользователем со 176 просроченными задачами: открытие — сразу на текущем дне под шапкой, перезагрузка — возврат ровно на прежнюю позицию, ошибок JS нет.

Фоновые заданияv1.3.0

Временные исходники и промежуточные файлы заданий теперь имеют общий жизненный цикл. Обработчик получает путь через JobContext::getWorkspace()->path('offers.jsonl'), а очистку выполняет пакет.

  • Один каталог на запуск; продолжения и автоматические повторы используют прежние файлы.
  • Системная задача cms-job.cleanup-workspaces выполняется ежечасно и допускает ручной запуск. Успешные снимки хранятся 7 суток, остальные завершённые — 14 суток.
  • Активные, ожидающие, удержанные и неоднозначные папки сохраняются. Блокировки защищают от живого старого исполнителя даже после истечения аренды в БД.
  • Карантин на той же файловой системе и журнал позволяют продолжить удаление после сбоя. Есть dry-run и ручное удержание.
  • История сохраняется, пока нужны рабочие ресурсы. Старые проектные папки автоматически не удаляются.
  • Добавлено руководство WORKSPACES.md для разработчиков и эксплуатации.

Проверено: 58 изолированных сценариев рабочих папок, 40 проверок обслуживания и 8 проверок проектного адаптера импортов.

Миграций БД нет. Для системных расписаний нужен cms-agent 3.2.5+. При внедрении необходимо согласованно обновить пакет и обработчики, мягко перезапустить воркеры и применить cmsAgent/init. Поддерживается локальная файловая система с flock и атомарным rename. Старые каталоги требуют отдельной инвентаризации и очистки.

Фоновые заданияv1.2.0

1.2.0 — Автоматическая очистка истории и логов заданий

В общий конфиг добавлены две системные задачи в очереди maintenance: cms-job.cleanup удаляет просроченную завершённую историю ежедневно, cms-job.cleanup-logs удаляет просроченные приватные логи и CSV-отчёты ежечасно. Обе доступны для ручного запуска в разделе «Расписание».

Для регистрации после обновления выполните php yii cmsAgent/init. Нужны cms-agent >= 3.2.5, действующий вызов cmsAgent/execute и потребитель maintenance. Повторная регистрация не создаёт дубли, сохраняет даты выполнения и состояние отключённых администратором расписаний. После обновления мягко перезапустите постоянные воркеры. Миграций БД нет.

Очистки используют общую блокировку ресурса и отдельные ключи дедупликации на установку. Данные обрабатываются порциями до 500 объектов каждого вида с продолжением того же запуска, проверкой отмены и продлением аренды. Незавершённые задания защищены. Ручные CLI-команды сохранены; их старые расписания следует убрать после перехода, поскольку CLI не берёт блокировку native job.

Произвольные рабочие файлы, включая supplier-imports, и файлы CMS storage в область этих очисток не входят.

Проверки: 33 изолированные проверки на SQLite в памяти без сети, PHP lint, проверка diff. На aney.ru подтверждены системность и активность расписаний, успешные ручные и автоматические запуски обеих задач. Просроченных данных на пилоте не было: фактическое массовое удаление и продолжения проверены на изолированных данных. Полная матрица установки и транспорта в этом релизе повторно не запускалась.