🎉 Состоялся релиз Drupal 9.3.0

Аватар пользователя ivnish ivnish 8 декабря 2021 в 15:42
4

Drupal 9.3.x содержит новые функции и должен использоваться при разработке новых сайтов. Поддержка безопасности Drupal 9.2.x будет продолжаться до июня 2022 года. Поддержка безопасности для 9.1.x заканчивается с выпуском 9.3.0 (8 декабря 2021 года), а поддержка безопасности Drupal 8 закончилась 3 ноября 2021 года.

Важные изменения в этом выпуске:

Начиная с Drupal 9.3, рекомендуется PHP версии 8.0 или выше. PHP 7.3 и выше по-прежнему поддерживается. Для Drupal 10 потребуется как минимум PHP 8.0.

  • CKEditor 5 добавлен как новый экспериментальный модуль
  • Тема Olivero помечена как стабильная
  • CKEditor 4 был обновлен с 4.16.2 до 4.17.1 из-за критической уязвимости.
  • Зависимости Drupal для symfony/phpunit-bridge, symfony/var-dumper и symfony/mime были обновлены с Symfony 5.3 до 5.4
  • Большинство URL-адресов файлов теперь будут использовать относительные, а не абсолютные ссылки.
  • Конфиги сортируется в порядке, определенном в их схемах. Нужно повторно экспортировать конфиги, если они хранятся в Git
  • drupal_internal__target_id был добавлен в JSON:API ответы
  • Метки полей теперь могут содержать до 255 символов.
  • Значки ярлыков теперь выводятся как <link rel="icon"> в соответствии со спецификацией HTML вместо <link rel="shortcut icon">
  • Каждая пользовательская роль теперь зависит от модулей, которые предоставляют разрешения этой роли. В результате разрешения будут автоматически очищаться при удалении модуля. Существующие роли будут обновлены для удаления несуществующих разрешений, а зависимости будут добавлены.
  • Чтобы ограничить зависимость ядра Drupal от jQuery для прямой совместимости с будущими версиями, конфигурация eslint core-js-pass теперь включает плагин eslint-plugin-jquery.
  • Библиотека jquery.once объявлена устаревшей (deprecated). Добавленные модули следует обновить для использования новой библиотеки once.js, входящей в ядро Drupal.
  • Кнопки отправки, оформленные как элементы <button type="submit">, теперь запускают AJAX в открытых формах представлений, точно так же, как они это делают, когда они оформлены как <input type="submit">.
  • Функциональные тесты JavaScript теперь автоматически проверяют, не возникли ли какие-либо ошибки JavaScript во время выполнения теста.
  • Формы блоков (Block plugin forms) больше не получают ключ block_theme в состоянии формы (form state).
  • GuzzleMiddlewarePass был удален в пользу TaggedHandlersPass. Код, взаимодействующий с GuzzleMiddlewarePass, должен теперь использовать TaggedHandlersPass.
  • Хотя обычно зависимости ядра Drupal в минорных выпусках не удаляются, зависимости ядра Drupal от fabpot/goutte и behat/mink-goutte-driver были удалены в 9.3, потому что ядро не использует их и потому что они не позволяют разрешить прямую совместимость с Guzzle 7 и PHP 8.1. Если ваш сайт или модуль использует любую из этих зависимостей, убедитесь, что они добавлены в файл composer.json проекта.
  • Пакет Doctrine/Reflection заброшен, а части, на которые опирается ядро Drupal, были скопированы в Drupal\Component\Annotation\Doctrine. Пакет будет удален из Drupal 10.
  • Шаблоны field-node-title.html.twig, field-node-created.html.twig и field-node-uid.html.twig были изменены, чтобы отображать эти поля так, как они настроены разработчиком сайта. Темы, которые включают эти шаблоны, должны добавить к ним это изменение.
  • Таблица пользователей будет обновлена, чтобы изменить столбец uid на истинное серийное поле (true serial field).
  • Модуль Quick Edit планируется удалить из ядра Drupal 10. С этой целью Quick Edit был удален из стандартного профиля в Drupal 9.3.0. Это изменение не влияет на существующие сайты.
  • Специфичные для Drupal теги были удалены со страниц нод терминов таксономии для повышения производительности. Теги <link rel="canonical"> и <link rel="shortlink"> остались и были расширены для охвата всех типов сущностей.

Оригинальный changelog на drupal.org