Два месяца назад основной упор был сделан на спокойную и качественную работу: исправление мелких недочетов, которые незаметно мешают повседневным задачам. Эта работа не прекращалась. Новинкой этого периода стало то, что теперь она идет параллельно с другим направлением — инновациями. В версиях с v5.40 по v5.48 Strapi развивался в обоих направлениях одновременно, и именно это сочетание определяет текущий этап.
Опираясь на стабильную базу, Strapi сделал первый серьезный шаг на новую территорию: встроенный MCP-сервер, поддерживаемый безопасным типом токенов, созданным для программного доступа. И параллельно с этим продолжалось повышение качества. Инновации, которые стоит внедрять, нуждаются в надежном фундаменте, и именно он постоянно укреплялся. В период между релизами v5.39 и v5.48 мы объединили сотни pull-реквестов в Strapi, и примерно 22% из них были предложены участниками сообщества. Вот что изменилось.
Strapi начинает становиться AI-native
AI-агенты теперь могут взаимодействовать с вашим проектом Strapi. MCP-сервер появился в версии v5.47.0 и стал общедоступным в v5.49.0. До сих пор у AI-агентов для написания кода, таких как Cursor, Copilot или Claude, не было возможности читать или записывать контент в работающем экземпляре Strapi. MCP-сервер устраняет этот пробел нативно: он проходит аутентификацию с помощью токенов Admin API и автоматически предоставляет набор CRUD-инструментов для каждого типа контента (поиск, создание, обновление, публикация, отмена публикации и многое другое). Более того, эта функция является опциональной (параметр server.mcp.enabled по умолчанию имеет значение false), поэтому ничего не будет доступно, пока вы сами не решите это включить.
Токены, обеспечивающие безопасность MCP-сервера. Токены Admin API были созданы в первую очередь для аутентификации MCP-сервера. Каждый токен имеет владельца, обладает правами администратора, строго ограниченными уровнем доступа этого владельца, и автоматически перенастраивается при изменении ролей владельца или аннулируется в момент его деактивации. В этом и заключается суть разграничения прав: вы можете предоставить AI-агенту именно тот уровень доступа, который ему необходим, и ничего больше. Они также подходят для любой другой автоматизации, требующей ограниченного доступа администратора, но именно для MCP-сервера они были спроектированы изначально.
Редактирование и моделирование контента
Теперь вы можете настраивать редактор блоков. Стандартные блоки форматированного текста Strapi подходят не для каждого проекта, и до сих пор не было поддерживаемого способа добавить свои собственные или удалить ненужные. Версия v5.46.0 меняет это: новый API addRichTextBlocks, вызываемый из хука регистрации плагина, позволяет регистрировать пользовательские блоки (выноски, цветные блоки или любые другие элементы, необходимые вашей модели контента) или удалять стандартные, такие как блок кода. Это решение пришло от сообщества, его предложил Alanderson Zelindro da Rosa, которому изначально потребовалась поддержка цветов, и он не смог найти способ реализовать это.
Live preview теперь поддерживает изображения и видео. До версии v5.46.0 функция предварительного просмотра в реальном времени не видела медиафайлы. Поля изображений и видео не распознавались в режиме предпросмотра, поэтому не было возможности кликнуть и заменить ресурс в контексте. Теперь при наведении курсора на медиафайл отображается оверлей выделения, двойной клик открывает всплывающее окно медиа, а изменение ресурса обновляет предпросмотр без необходимости предварительного сохранения. (Для Live preview требуется лицензия плана Growth.)
Сортировка списка по статусу публикации. В прошлом обновлении появилась возможность фильтрации списка в Content Manager по статусу публикации. Версия v5.45.0 дополняет эту функцию: теперь вы можете выполнять и сортировку, поэтому поиск черновиков или недавно измененных записей осуществляется одним кликом по столбцу.
Поиск по связям работает внутри вложенных компонентов. До версии v5.47.0 поиск по полю связи, расположенному внутри вложенного компонента, не работал, что вынуждало использовать неудобные обходные пути в глубоко структурированных моделях контента. Это исправлено: поиск по связям теперь работает одинаково, независимо от того, где находится поле, поэтому сложные схемы больше не создают проблем.
Хранилище, совместимое с S3, стало надежнее. В прошлом обновлении была добавлена расширенная конфигурация для S3-совместимых провайдеров; в этом — она была доработана. Версии v5.42.1 и v5.43.0 добавляют поддержку учетных данных корневого уровня, позволяют провайдеру доверять URL-адресу местоположения (Location URL), возвращаемому S3-совместимыми сервисами, и обновляют AWS SDK. Если вы используете Strapi с Cloudflare R2, MinIO, Backblaze B2 или DigitalOcean Spaces, путь стал чище, а количество пограничных случаев сократилось.
Content API теперь возвращает подписанные URL. До версии v5.43.0 ресурсы, обслуживаемые через Content API, не получали подписанные URL, что нарушало работу настроек приватных бакетов для любого контента, потребляемого через API, а не через админ-панель. Это исправлено: подписанные URL теперь возвращаются стабильно.
Исправлен скачок потребления памяти при обработке изображений. При интенсивной загрузке обработка изображений в Strapi (через библиотеку sharp) могла привести к исчерпанию памяти в условиях конкурентности и нагрузки на кэш, что приводило к падению процесса. Версия v5.45.0 устраняет первопричину, поэтому тяжелые рабочие нагрузки по загрузке больше не создают риск сбоя из-за нехватки памяти.
Надежность: связи, публикация и производительность
Ваши связи сохраняются при публикации, отмене и повторной публикации. Группа исправлений устранила несколько способов, которыми связи могли незаметно нарушаться в процессе жизненного цикла публикации: самореферентные связи теперь сохраняются при публикации и отмене, скрытые обратные связи больше не удаляются при публикации или обновлении записи, а порядок связей сохраняется при циклах отмены и повторной публикации. Это тот тип работы по обеспечению целостности данных, который замечаешь только тогда, когда он отсутствует, а отсутствие связей — это именно то, что подрывает доверие к CMS.
Админ-панель стала быстрее. В этом периоде производительности уделялось постоянное внимание. Домашняя страница теперь отрисовывает виджеты постепенно и пакетно проверяет разрешения вместо того, чтобы блокировать их (v5.41.0), миграции базы данных стали быстрее (v5.47.0), а избыточная перерисовка компонентов и динамических зон была сокращена (v5.40.0). По отдельности это мелочи, но в совокупности админ-панель работает быстрее, чем в феврале.
Для разработчиков
Entity Service официально признан устаревшим. Версия v5.40.0 дает четкий сигнал о том, на каком API следует строить разработку. В определениях типов аннотация @beta была удалена из Document API (strapi.documents), а @deprecated была добавлена для Entity Service (strapi.entityService и связанных с ним), при этом сообщения об устаревании прямо указывают на Document Service. Это изменение на уровне типов и JSDoc, а не продуктовый анонс, но направление однозначно: Document Service — это то, куда следует направлять новые разработки, а Entity Service постепенно выводится из эксплуатации. Если вы решали, стоит ли переходить на новый API, ваш редактор теперь будет подсказывать вам это.
Запросы по черновикам и опубликованным записям в одном параметре. Функция Draft & Publish уже предоставляла статус и поле publishedAt на уровне строк, но многие действительно полезные запросы охватывают оба состояния: «никогда не публиковалось в этой локали», «черновик отличается от опубликованной версии», «опубликованная строка без черновика». Их нельзя выразить как фильтр по одному столбцу. Этот релиз добавляет publicationFilter (см. примечания к v5.47.0), явный параметр запроса с режимами когорт, который работает в REST, Document Service и GraphQL, и корректно применяется при вложенном заполнении (populate). Старый параметр hasPublishedVersion по-прежнему работает и отображается на новые режимы, поэтому существующие клиенты не сломаются.
Безопасность
Главной новостью в сфере безопасности в этот период стало скоординированное раскрытие информации, а не просто обновление зависимостей. 13 мая Strapi опубликовала информацию о пяти исправленных CVE, два из которых являются критическими: SQL-инъекция в Content-Type Builder (CVE-2026-22599, CVSS 9.3) и раскрытие конфиденциальных данных через реляционную фильтрацию (CVE-2026-27886), а также обход ограничения частоты запросов, сброс пароля, не отзывающий сессии, и обход проверки MIME-типа в плагине Upload. Исправления были включены в более ранние релизы, поэтому задача проста: если вы используете версию ниже v5.37.0, обновитесь прямо сейчас. [LINK: Раскрытие информации о безопасности Strapi, https://strapi.io/blog/security-disclosure-of-vulnerabilities-cve-2025-64526-cve-2026-22599-cve-2026-22706-cve-2026-22707-and-cve-2026-27886]
Strapi 4 достигла конца жизненного цикла
Эта новость стоит рядом с информацией о безопасности, поскольку является второй стороной одной и той же медали. Strapi 4 официально достигла конца жизненного цикла (End of Life), и версия v5.46.0 формально закрепила это в кодовой базе. Пять упомянутых выше CVE были исправлены для v4 LTS в качестве последнего жеста доброй воли, но на этом всё: больше никаких исправлений ошибок и патчей безопасности. Если вы всё ещё используете v4 в продакшене, у вас больше нет «подушки безопасности», и каждая неделя работы на этой версии — это накопление рисков перед уязвимостями, которые никогда не будут исправлены.
Если вы откладывали обновление, сейчас самое время перестать это делать. Путь миграции на v5 хорошо задокументирован, инструменты для этого уже зрелые, и именно в v5 сосредоточены все улучшения из этого обзора и всё, что будет создано в будущем.
В этом посте освещены изменения, которые с наибольшей вероятностью повлияют на вашу повседневную работу, но это лишь избранная часть. Вместе со всем описанным здесь было выпущено множество мелких исправлений и улучшений, поэтому примечания к выпуску дают полную картину — их стоит прочитать, если вы обновляетесь сразу через несколько версий.
Значительная часть этой работы была проделана не основной командой разработчиков. Из сотен пулл-реквестов, принятых в этот период, примерно пятая часть была открыта участниками сообщества — людьми, которые сообщали об ошибках, предлагали исправления и отправляли код, как, например, настраиваемый редактор Blocks, который начался с того, что один разработчик решил закрыть свою собственную потребность. Strapi — это проект с открытым исходным кодом, и его качество — наша общая ответственность. Чем больше людей сообщают о проблемах, открывают пулл-реквесты и продвигают предложения, тем лучше становится Strapi для всех. Всегда есть что исправить и что создать, и мы продолжим делать это вместе.
Чтобы увидеть полный список изменений, посетите примечания к выпуску:









