Дата релиза: 4 марта 2021
¶Добавлен опциональный параметр для StatementInterface::fetchObject()
Метод Drupal\Core\Database\StatementPrefetch::fetchObject() и его интерфейс Drupal\Core\Database\StatementInterface::fetchObject() мимикируют под реализацию fertchObject() в PDO. Для того чтобы они были идентичны добавлен второй параметр:
/**
* Fetches the next row and returns it as an object.
*
* The object will be of the class specified by StatementInterface::setFetchMode()
* or stdClass if not specified.
*
* @param string|null $class_name
* Name of the created class.
* @param array $constructor_args
* Elements of this array are passed to the constructor.
*
* @return mixed
* The object of specified class or \stdClass if not specified. Returns
* FALSE or NULL if there is no next row.
*/
public function fetchObject($class_name = NULL, $constructor_args = []);
¶В миграцию ContentEntity добавлена возможность указывать ключ источника в котором хранится ID ревизии
Ранее, миграция content_entity (Drupal\migrate_drupal\Plugin\migrate\source\ContentEntity) использовалась в ситуациях, когда сайт источник был идентичен сайту назначения.
В Drupal 8.9, 9.0 и 9.1, плагин источника данных content_entity всегда включал ключ для ID ревизии, так, как если бы сущность источника поддерживала ревизии. (Пример: node, media, taxonomy_term, но не user, file).
В версиях Drupal 8.8 и ранее, ключ ID ревизии никогда не добавлялся.
Начиная с текущей версии вы можете указать, включать ли ID ревизии в миграцию или нет, используя настройку revisions. Допустимые значения none и add key.
Новая настройка опциональна, а значение по умолчанию revisions: add key - что равносильно поведение до текущего изменения.
Ранее:
source:
plugin: content_entity:nodeНачиная с данного релиза:
Для того чтобы ID ревизии не использовался (поведение Drupal 8.8-):
source:
plugin: content_entity:node
revisions: noneДля того чтобы ID ревизии добавлялся (поведение Drupal 8.9, 9.0, 9.1):
source:
plugin: content_entity:node
revisions: add key
¶Claro
- #3116377 Улучшено отображение элемента с автодополнением в раскрытых фильтрах Views.
¶Configuration System
-
#3196050 Исправлена документация для
StorageConfigBase::validateValue().
¶Entity System
-
#2693485 Пункты добавления материалов (
/node/add) теперь сортируются по метке, а не по машинному имени.
¶File
-
#3174349
file_url_transform_relative()теперь поддерживает порты отличные от 80 и 443.
¶Form System
-
#997826 Исправлена работа свойства
#stateдля элемента формыtext_format.
¶Forum
- #3197754 Кнопка «Add new Form topic» больше не показывается на разделах форума.
¶Layout Builder
- #3144010 Исправлена неполадка из-за которой было невозможно удалять псевдо-поля.
¶Migration System
- #2558857 Оптимизирована очистка памяти после загрузки сущностей.
-
#3165944 Миграция
d7_shortcutбольше не указывает в качестве зависимости миграциюd7_menu_links. -
#3189476 Миграция
node_translation_menu_linksтеперь имеет опциональные зависимостиd6_menuиd7_menu. -
#3196177 Добавлена документация для плагинов источников
VariableMultiRow,Variable,d6/VariableTranslationиd7/VariableTranslation. - #3187415 Миграции переводов для системных настроек теперь зависят от базовых миграций этих настроек.
-
#3176394 Типы комментариев больше не мигрируют если в источнике отключен модуль
comment. -
#2954982 Исправлена неполадка в
EntityContentBase::processStubRow()приводящая к ошибкам в некоторых ситуациях. - #3178966 Миграции Drupal 2 Drupal теперь будут выдавать ошибки при попытке мигрировать комментарии если на сайте-источнике они отключены.
- #3189587 Добавлена документация для плагинов источников связанных с таксономией.
-
#3084477 Исправлены неполадки в тестах для
migrate_drupal_ui. -
#3197749 Улучшена документация и добавлен пример для плагина источника
empty. -
#3097312 Миграции созданные при помощи дериватив и имеющие плагин
migration_lookup, больше не указываются в качестве опциональных зависимостей. Ранее, подобные миграции имели зависимости друг на друга, хотя могли быть не связаны между собой. -
#2579361 Улучшена документация для
Row::setSourceProperty().
¶Olivero
-
#3182711 Блок "помощи" теперь располагается в регионе
content_aboveвместо несуществующегоhelp. - #3182134 Обновлены установочные конфигурации для темы.
-
#3196425 Удалены стили для
::selection. - #3197721 Добавлен прелоад Metropolis-Regular.
- #3190140 Описание для элемента раскрытия меню теперь содержит заголовок раскрываемого пункта.
¶Views
-
#2470753 Улучшена документация для
hook_views_analyze().
¶Тестирование
-
#2571475
KernelTestBaseтеперь могу производить внешние HTTP запросы. -
#3187309 Сравнения с использованием XPath для
<select>и<option>заменены на современные методы. -
#3189607 Сравнения с использованием XPath для
<input type="checkbox">заменены на современные методы. -
#3201113 Исправлена опечатка в
PhpUnitVersionDependentTestCompatibilityTrait.
¶Прочие изменения
-
#3195951 Из
MAINTAINERS.txtудалён пустой раздел "Provisional membership". -
#3195277 Из
MAINTAINERS.txtудалены упоминания Drupal 8. -
#3196391 Упоминание "Drupal Core" в
MAINTAINERS.txtприведено к единому стилю. - #3196433 Исправлена ссылка ведущая на документацию форматов времени PHP.net.
-
#3197135 Исправлена ошибка в примере
hook_validation_constraint_alter(). -
#2623718 Исправлен код не соответствующий стандарту
Drupal.Commenting.HookComment. -
#3196392 В
MAINTAINERS.txtдобавлено описание об инициативе «Topic» (Help Topics). -
#3196430 Удалены стили для
::selectionэлемента#drupal-off-canvas. -
#2533254
LanguageInterfaceдобавлен в группу документацийi18n. -
#3199582 Исправлен пример реализации
hook_field_storage_config_update_forbid().
¶Ссылки
- Drupal 9.1.5 (англ.), drupal.org, 4 марта 2021 г.